diff --git a/CUTOVER.md b/CUTOVER.md index f3a021d..ccfc743 100644 --- a/CUTOVER.md +++ b/CUTOVER.md @@ -83,7 +83,8 @@ Recommended rollout: | D1 | `POST /members/:handle/stats/rerate` | `{ "challengeId": "", "trackId": "DEVELOP", "typeId": "Challenge" }` | Use the earliest Development/Challenge `challengeId` for a full-history rerate | | D2 | `POST /members/:handle/stats/rerate` | `{ "challengeId": "", "trackId": "DEVELOP", "typeId": "Challenge" }` | Re-rates Development/Challenge data from a specific challenge forward | | D3 | `POST /members/:handle/stats/rerate` | `{ "challengeId": "", "trackId": "DATA_SCIENCE", "typeId": "MARATHON_MATCH" }` | Use the earliest Marathon Match `challengeId` for full history, or a later one for a partial rerate | -| D4 | `node src/scripts/rerateMarathonMatches.js --dry-run` then `node src/scripts/rerateMarathonMatches.js --concurrency 5` | n/a | Bulk rerates native Marathon Match ratings for every discovered competitor from the beginning. Challenge discovery uses only the Marathon Match `ChallengeType` id, so Data Science and Development-track MM imports are replayed together into `DATA_SCIENCE / MARATHON_MATCH`; no `MM_DB_URL` or marathon-match-api schema is required | +| D4 | `node src/scripts/rerateMarathonMatches.js --dry-run` then `node src/scripts/rerateMarathonMatches.js --concurrency 5` | n/a | Bulk rerates native Marathon Match ratings for every discovered competitor from the beginning. Challenge discovery uses only the Marathon Match `ChallengeType` id, so Data Science and Development-track MM imports are replayed together into `DATA_SCIENCE / MARATHON_MATCH`; migrated numeric rows are de-duplicated against canonical UUID rows by MM round number during replay; no `MM_DB_URL` or marathon-match-api schema is required | +| D5 | `node src/scripts/dedupeMarathonMatchHistory.js --dry-run` then `node src/scripts/dedupeMarathonMatchHistory.js --apply` | n/a | Physically removes migrated numeric `DATA_SCIENCE / MARATHON_MATCH` `memberStatsHistory` rows that duplicate complete official Marathon Match UUID history rows for the same user and MM round. This requires the members and challenges schemas to be accessible from the same Postgres database and leaves non-MM helper Challenge API records intact | - Auth: Bearer token with `rerate:member_stats` scope, or admin JWT - `challengeId` is required for rerates; use the earliest applicable challenge when you need a full-history rerate. diff --git a/ReadMe.md b/ReadMe.md index a198031..480c5cf 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -113,7 +113,7 @@ The following parameters can be set in config files or in env variables: - MISC_SECURE_FIELDS: Misc identifiable info fields, only admin, M2M, or member himself can fetch these fields - STATISTICS_SECURE_FIELDS: Member Statistics identifiable info fields, only admin, M2M, or member himself can fetch these fields - STATS_READ_SOURCE: Controls stats read backend, `unified` (default, new tables) or `legacy` (pre-refactor tables) -- RATING_PATHS: JSON array of tag- and skill-based Development Challenge and Marathon Match rating paths. Each entry has `name`, optional `tags`, optional `skillIds`, and optional `track` (`DATA_SCIENCE`, `DEVELOP`, or `DEVELOPMENT`); at least one of `tags` or `skillIds` is required. Tags match any listed challenge tag, while skill IDs require every listed challenge skill. Defaults to `[{"name":"AI","track":"DATA_SCIENCE","tags":["AI","AI Exponential League"]}]`. Re-rate a path by passing `ratingName` to `POST /members/{handle}/stats/rerate`; rows are stored under `{track} / {name}` in unified stats. +- RATING_PATHS: JSON array of tag- and skill-based Development Challenge and Marathon Match rating paths. Each entry has `name`, optional `tags`, optional `skillIds`, and optional `track` (`DATA_SCIENCE`, `DEVELOP`, or `DEVELOPMENT`); at least one of `tags` or `skillIds` is required. Tags match any listed challenge tag, while skill IDs require every listed challenge skill. Defaults to `[{"name":"AI Engineering","track":"DATA_SCIENCE","tags":["AI","AI Exponential League"]}]`. Re-rate a path by passing `ratingName` to `POST /members/{handle}/stats/rerate`; rows are stored under `{track} / {name}` in unified stats. - HEALTH_CHECK_TIMEOUT: health check timeout in milliseconds Set the following environment variables used by bus API to get TC M2M token (use 'set' insted of 'export' for Windows OS): @@ -138,6 +138,44 @@ The following test parameters can be set in config file or in env variables: - M2M_UPDATE_ACCESS_TOKEN: M2M update (including 'delete') access token - S3_ENDPOINT: endpoint of AWS S3 API, for unit and e2e test only; default to `localhost:9000` +## Challenge Point Profile Data + +Point-based challenge prizes are mirrored into member-api so profile pages can show totals and a per-challenge breakdown without reading tc-finance-api. + +Autopilot replaces the rows for one challenge with: + +```http +PUT /v6/members/challenge-points/{challengeId} +Content-Type: application/json + +{ + "challengeName": "AI Points Challenge", + "points": [ + { "userId": 123456, "placement": 1, "points": 500 } + ] +} +``` + +`GET /v6/members/{handle}` includes a public `challengePoints` object by default: + +```json +{ + "challengePoints": { + "total": 2847, + "challenges": 14, + "details": [ + { + "challengeId": "challenge-uuid", + "challengeName": "AI Points Challenge", + "userId": 123456, + "placement": 1, + "points": 500 + } + ] + } +} +``` + ## Rating Path Operations Historical rating paths are configured with `RATING_PATHS`. The default AI path is: @@ -145,14 +183,14 @@ Historical rating paths are configured with `RATING_PATHS`. The default AI path ```json [ { - "name": "AI", + "name": "AI Engineering", "track": "DATA_SCIENCE", "tags": ["AI", "AI Exponential League"] } ] ``` -The `track` value controls where the rating is stored in unified stats. Use `DATA_SCIENCE` to store rows under `DATA_SCIENCE / AI`, or `DEVELOP` / `DEVELOPMENT` to store rows under `DEVELOP / AI`. The rating engine includes both Marathon Match results and `challenge` type Development Challenge results when the challenges match the configured tags or skill IDs. When a configured rating name does not already exist as a `ChallengeType`, rerate creates a deterministic custom type row so unified `memberStats` foreign keys remain valid. +The `track` value controls where the rating is stored in unified stats. Use `DATA_SCIENCE` to store rows under `DATA_SCIENCE / AI Engineering`, or `DEVELOP` / `DEVELOPMENT` to store rows under `DEVELOP / AI Engineering`. The rating engine includes both Marathon Match results and `challenge` type Development Challenge results when the challenges match the configured tags or skill IDs. When a configured rating name does not already exist as a `ChallengeType`, rerate creates a deterministic custom type row so unified `memberStats` foreign keys remain valid. ### Rating Calculation Details @@ -170,7 +208,7 @@ Content-Type: application/json { "challengeId": "earliest-tagged-challenge-id-for-that-member", - "ratingName": "AI" + "ratingName": "AI Engineering" } ``` @@ -196,13 +234,22 @@ pnpm rerate-marathon-matches -- --dry-run pnpm rerate-marathon-matches -- --concurrency 5 ``` -The script discovers completed Marathon Match challenges by `ChallengeType` id and also merges distinct challenge IDs already present in `DATA_SCIENCE / MARATHON_MATCH` `memberStatsHistory`, so migrated legacy MM rows that predate ChallengeType classification are scanned too. It discovers competitors from final review summations using both canonical challenge UUIDs and legacy numeric challenge IDs, filters out user IDs that do not exist in member storage, and calls the native MM rerate engine with no starting challenge so each member is replayed from their first MM event. Current MM ranks are recalculated once after the batch rather than once per member. Historical MM replay does not require `MM_DB_URL` or the marathon-match-api schema. +The script discovers completed Marathon Match challenges by `ChallengeType` id and also merges distinct challenge IDs already present in `DATA_SCIENCE / MARATHON_MATCH` `memberStatsHistory`, so migrated legacy MM rows that predate ChallengeType classification are scanned too. Migrated numeric rows such as `MM 145` are merged with canonical Challenge API rows such as `Marathon Match 145` by MM round number before participant discovery, and rerate seeding prefers complete canonical UUID checkpoints over duplicate legacy rows. The script discovers competitors from final review summations using both canonical challenge UUIDs and legacy numeric challenge IDs, filters out user IDs that do not exist in member storage, and calls the native MM rerate engine with no starting challenge so each member is replayed from their first MM event. Current MM ranks are recalculated once after the batch rather than once per member. Historical MM replay does not require `MM_DB_URL` or the marathon-match-api schema. + +After a rerate, migrated numeric history rows can still exist beside the canonical UUID rows until they are physically cleaned from `memberStatsHistory`. When the members and challenges schemas are available in the same Postgres database, preview and apply the cleanup with: + +```bash +pnpm dedupe-marathon-match-history -- --dry-run --user-id 40562752 +pnpm dedupe-marathon-match-history -- --apply --user-id 40562752 +``` + +The cleanup deletes only migrated numeric `DATA_SCIENCE / MARATHON_MATCH` history rows that match a complete official Challenge API Marathon Match UUID row for the same member and MM round number. It leaves Challenge API helper challenges such as writer, tester, task, and placement award records intact because those are separate challenge records, not native Marathon Match rating history. After native MM rerates exist for a member, profile history also hides remaining orphan numeric MM rows that cannot be resolved to a Challenge API UUID or matched to a canonical MM round for that member. To re-run a configured rating path for every member who participated in the configured challenge set, use the bulk script instead of the member-scoped API: ```bash -pnpm rerate-rating-path -- --rating-name AI --dry-run -pnpm rerate-rating-path -- --rating-name AI --concurrency 5 +pnpm rerate-rating-path -- --rating-name "AI Engineering" --dry-run +pnpm rerate-rating-path -- --rating-name "AI Engineering" --concurrency 5 ``` The script discovers distinct user IDs from all rated challenges matching the configured path, then rerates each user from the start of the path so complete history is written without requiring individual handles or challenge IDs. It writes successfully processed user IDs to `rerateRatingPath.processedUserIds.json` by default. Marathon Match path events are also read from review summations and do not require `MM_DB_URL`. @@ -210,24 +257,24 @@ The script discovers distinct user IDs from all rated challenges matching the co Useful script options: ```bash -pnpm rerate-rating-path -- --rating-name AI --limit 100 -pnpm rerate-rating-path -- --rating-name AI --user-id 12345 -pnpm rerate-rating-path -- --rating-name AI --user-ids 12345,67890 -pnpm rerate-rating-path -- --rating-name AI --processed-user-ids-path /tmp/ai-rerated-users.json +pnpm rerate-rating-path -- --rating-name "AI Engineering" --limit 100 +pnpm rerate-rating-path -- --rating-name "AI Engineering" --user-id 12345 +pnpm rerate-rating-path -- --rating-name "AI Engineering" --user-ids 12345,67890 +pnpm rerate-rating-path -- --rating-name "AI Engineering" --processed-user-ids-path /tmp/ai-rerated-users.json ``` To view one member's rating and history for a `DATA_SCIENCE` path: ```http -GET /v6/members/{handle}/stats?trackId=DATA_SCIENCE&typeId=AI -GET /v6/members/{handle}/stats/history?trackId=DATA_SCIENCE&typeId=AI +GET /v6/members/{handle}/stats?trackId=DATA_SCIENCE&typeId=AI%20Engineering +GET /v6/members/{handle}/stats/history?trackId=DATA_SCIENCE&typeId=AI%20Engineering ``` To view one member's rating and history for a `DEVELOPMENT` path, use the canonical unified track name: ```http -GET /v6/members/{handle}/stats?trackId=DEVELOP&typeId=AI -GET /v6/members/{handle}/stats/history?trackId=DEVELOP&typeId=AI +GET /v6/members/{handle}/stats?trackId=DEVELOP&typeId=AI%20Engineering +GET /v6/members/{handle}/stats/history?trackId=DEVELOP&typeId=AI%20Engineering ``` To view aggregate rating distribution data: diff --git a/config/default.js b/config/default.js index d8a0c52..d633590 100644 --- a/config/default.js +++ b/config/default.js @@ -16,7 +16,7 @@ if (!communicationSecureFields.includes('email')) { const defaultRatingPaths = [ { - name: 'AI', + name: 'AI Engineering', track: 'DATA_SCIENCE', tags: ['AI', 'AI Exponential League'] } diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 5df47ef..2355a45 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -170,6 +170,49 @@ paths: description: Internal server error schema: $ref: '#/definitions/ErrorModel' + '/members/challenge-points/{challengeId}': + put: + tags: + - Basic + description: |- + Replace the stored point awards for one challenge. This endpoint mirrors point-based challenge prize payouts into member-api so member profiles can return challenge point totals and per-challenge details. + + Authorization: + - M2M scopes: `update:user_profiles` or `all:user_profiles`. + security: + - bearer: [] + parameters: + - in: path + name: challengeId + required: true + type: string + description: Challenge identifier whose point rows should be replaced. + - in: body + name: body + required: true + schema: + $ref: '#/definitions/ChallengePointsUpdateRequest' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/ChallengePointsUpdateResult' + '400': + description: Bad request data + schema: + $ref: '#/definitions/ErrorModel' + '401': + description: Miss or wrong authentication credentials + schema: + $ref: '#/definitions/ErrorModel' + '403': + description: No permission + schema: + $ref: '#/definitions/ErrorModel' + '500': + description: Internal server error + schema: + $ref: '#/definitions/ErrorModel' '/members/{handle}': get: tags: @@ -1857,7 +1900,7 @@ paths: description: UUID or legacy numeric challenge identifier that starts the rerate request. ratingName: type: string - description: Optional configured rating path name, for example `AI` or `Java MySQL`. + description: Optional configured rating path name, for example `AI Engineering` or `Java MySQL`. trackId: type: string enum: @@ -2232,6 +2275,68 @@ definitions: description: 'ISO-8601 formatted date times (YYYY-MM-DDTHH:mm:ss.sssZ)' updatedBy: type: string + challengePoints: + $ref: '#/definitions/MemberChallengePointsSummary' + MemberChallengePointsSummary: + type: object + properties: + total: + type: integer + description: Total challenge points earned by the member. + challenges: + type: integer + description: Number of challenge point award rows returned for the member. + details: + type: array + items: + $ref: '#/definitions/MemberChallengePointsDetail' + MemberChallengePointsDetail: + type: object + properties: + challengeId: + type: string + challengeName: + type: string + userId: + type: integer + placement: + type: integer + points: + type: integer + ChallengePointsUpdateRequest: + type: object + required: + - challengeName + - points + properties: + challengeName: + type: string + points: + type: array + items: + $ref: '#/definitions/ChallengePointAward' + ChallengePointAward: + type: object + required: + - userId + - placement + - points + properties: + userId: + type: integer + placement: + type: integer + points: + type: integer + ChallengePointsUpdateResult: + type: object + properties: + challengeId: + type: string + challengeName: + type: string + updated: + type: integer MemberHandleUpdate: type: object required: diff --git a/package.json b/package.json index 8e3fd69..e05cb1e 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "migrate-dynamo-data": "node src/scripts/migrate-dynamo-data.js", "recalculate-member-stats": "node src/scripts/recalculateMemberStats.js", "backfill-challenge-results": "node src/scripts/backfillChallengeResults.js", + "dedupe-marathon-match-history": "node src/scripts/dedupeMarathonMatchHistory.js", "rerate-rating-path": "node src/scripts/rerateRatingPath.js", "rerate-marathon-matches": "node src/scripts/rerateMarathonMatches.js", "rerate-development-challenge": "node src/scripts/rerateDevelopmentChallenge.js" @@ -87,7 +88,8 @@ "mocha" ], "ignore": [ - "/prisma/" + "/prisma/", + "/packages/" ] } } diff --git a/packages/member-prisma-client/client.d.ts b/packages/member-prisma-client/client.d.ts new file mode 100644 index 0000000..bc20c6c --- /dev/null +++ b/packages/member-prisma-client/client.d.ts @@ -0,0 +1 @@ +export * from "./index" \ No newline at end of file diff --git a/packages/member-prisma-client/client.js b/packages/member-prisma-client/client.js new file mode 100644 index 0000000..6ac8a81 --- /dev/null +++ b/packages/member-prisma-client/client.js @@ -0,0 +1,5 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +module.exports = { ...require('.') } \ No newline at end of file diff --git a/packages/member-prisma-client/default.d.ts b/packages/member-prisma-client/default.d.ts new file mode 100644 index 0000000..bc20c6c --- /dev/null +++ b/packages/member-prisma-client/default.d.ts @@ -0,0 +1 @@ +export * from "./index" \ No newline at end of file diff --git a/packages/member-prisma-client/default.js b/packages/member-prisma-client/default.js new file mode 100644 index 0000000..eb55675 --- /dev/null +++ b/packages/member-prisma-client/default.js @@ -0,0 +1,5 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +module.exports = { ...require('#main-entry-point') } \ No newline at end of file diff --git a/packages/member-prisma-client/edge.d.ts b/packages/member-prisma-client/edge.d.ts new file mode 100644 index 0000000..274b8fa --- /dev/null +++ b/packages/member-prisma-client/edge.d.ts @@ -0,0 +1 @@ +export * from "./default" \ No newline at end of file diff --git a/packages/member-prisma-client/edge.js b/packages/member-prisma-client/edge.js new file mode 100644 index 0000000..b68c3c8 --- /dev/null +++ b/packages/member-prisma-client/edge.js @@ -0,0 +1,572 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + PrismaClientKnownRequestError, + PrismaClientUnknownRequestError, + PrismaClientRustPanicError, + PrismaClientInitializationError, + PrismaClientValidationError, + getPrismaClient, + sqltag, + empty, + join, + raw, + skip, + Decimal, + Debug, + objectEnumValues, + makeStrictEnum, + Extensions, + warnOnce, + defineDmmfProperty, + Public, + getRuntime, + createParam, +} = require('./runtime/edge.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.19.2 + * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + */ +Prisma.prismaVersion = { + client: "6.19.2", + engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" +} + +Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; +Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError +Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError +Prisma.PrismaClientInitializationError = PrismaClientInitializationError +Prisma.PrismaClientValidationError = PrismaClientValidationError +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = sqltag +Prisma.empty = empty +Prisma.join = join +Prisma.raw = raw +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = Extensions.getExtensionContext +Prisma.defineExtension = Extensions.defineExtension + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + + + +/** + * Enums + */ +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.MemberScalarFieldEnum = { + userId: 'userId', + handle: 'handle', + handleLower: 'handleLower', + email: 'email', + verified: 'verified', + skillScore: 'skillScore', + memberRatingId: 'memberRatingId', + firstName: 'firstName', + lastName: 'lastName', + description: 'description', + otherLangName: 'otherLangName', + status: 'status', + newEmail: 'newEmail', + emailVerifyToken: 'emailVerifyToken', + emailVerifyTokenDate: 'emailVerifyTokenDate', + newEmailVerifyToken: 'newEmailVerifyToken', + newEmailVerifyTokenDate: 'newEmailVerifyTokenDate', + country: 'country', + homeCountryCode: 'homeCountryCode', + competitionCountryCode: 'competitionCountryCode', + photoURL: 'photoURL', + tracks: 'tracks', + loginCount: 'loginCount', + lastLoginDate: 'lastLoginDate', + availableForGigs: 'availableForGigs', + availableForGigsLastUpdateDate: 'availableForGigsLastUpdateDate', + lastProfileConfirmationDate: 'lastProfileConfirmationDate', + skillScoreDeduction: 'skillScoreDeduction', + namesAndHandleAppearance: 'namesAndHandleAppearance', + aggregatedSkills: 'aggregatedSkills', + enteredSkills: 'enteredSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberAddressScalarFieldEnum = { + id: 'id', + userId: 'userId', + streetAddr1: 'streetAddr1', + streetAddr2: 'streetAddr2', + city: 'city', + zip: 'zip', + stateCode: 'stateCode', + type: 'type', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberPhoneScalarFieldEnum = { + id: 'id', + userId: 'userId', + type: 'type', + number: 'number', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberMaxRatingScalarFieldEnum = { + id: 'id', + userId: 'userId', + rating: 'rating', + track: 'track', + subTrack: 'subTrack', + ratingColor: 'ratingColor', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberFinancialScalarFieldEnum = { + userId: 'userId', + amount: 'amount', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberStatsHistoryScalarFieldEnum = { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challengeId: 'challengeId', + mostRecent: 'mostRecent', + oldRating: 'oldRating', + newRating: 'newRating', + placement: 'placement', + percentile: 'percentile', + oldVolatility: 'oldVolatility', + newVolatility: 'newVolatility', + oldGlobalRank: 'oldGlobalRank', + newGlobalRank: 'newGlobalRank', + oldCountryRank: 'oldCountryRank', + newCountryRank: 'newCountryRank', + oldSchoolRank: 'oldSchoolRank', + newSchoolRank: 'newSchoolRank', + eventDate: 'eventDate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberStatsScalarFieldEnum = { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challenges: 'challenges', + wins: 'wins', + mostRecentSubmission: 'mostRecentSubmission', + mostRecentEventDate: 'mostRecentEventDate', + rating: 'rating', + avgRank: 'avgRank', + avgNumSubmissions: 'avgNumSubmissions', + bestRank: 'bestRank', + globalRank: 'globalRank', + countryRank: 'countryRank', + schoolRank: 'schoolRank', + volatility: 'volatility', + maxRating: 'maxRating', + minRating: 'minRating', + topFiveFinishes: 'topFiveFinishes', + topTenFinishes: 'topTenFinishes', + isPrivate: 'isPrivate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberChallengePointsScalarFieldEnum = { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitsScalarFieldEnum = { + id: 'id', + userId: 'userId', + subscriptions: 'subscriptions', + hobby: 'hobby', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitDeviceScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + deviceType: 'deviceType', + manufacturer: 'manufacturer', + model: 'model', + operatingSystem: 'operatingSystem', + osVersion: 'osVersion', + osLanguage: 'osLanguage', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitSoftwareScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + softwareType: 'softwareType', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitServiceProviderScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + type: 'type', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitWorkScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + industry: 'industry', + otherIndustry: 'otherIndustry', + companyName: 'companyName', + position: 'position', + startDate: 'startDate', + endDate: 'endDate', + working: 'working', + description: 'description', + associatedSkills: 'associatedSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitEducationScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + collegeName: 'collegeName', + degree: 'degree', + endYear: 'endYear', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitBasicInfoScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + userId: 'userId', + country: 'country', + primaryInterestInTopcoder: 'primaryInterestInTopcoder', + tshirtSize: 'tshirtSize', + gender: 'gender', + shortBio: 'shortBio', + birthDate: 'birthDate', + currentLocation: 'currentLocation', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitLanguageScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + language: 'language', + spokenLevel: 'spokenLevel', + writtenLevel: 'writtenLevel', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitOnboardChecklistScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + listItemType: 'listItemType', + date: 'date', + message: 'message', + status: 'status', + skip: 'skip', + metadata: 'metadata', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitPersonalizationScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + key: 'key', + value: 'value', + private: 'private', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitCommunityScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + communityName: 'communityName', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.NullableJsonNullValueInput = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.JsonNullValueFilter = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull, + AnyNull: Prisma.AnyNull +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; +exports.MemberStatus = exports.$Enums.MemberStatus = { + UNVERIFIED: 'UNVERIFIED', + ACTIVE: 'ACTIVE', + INACTIVE_USER_REQUEST: 'INACTIVE_USER_REQUEST', + INACTIVE_DUPLICATE_ACCOUNT: 'INACTIVE_DUPLICATE_ACCOUNT', + INACTIVE_IRREGULAR_ACCOUNT: 'INACTIVE_IRREGULAR_ACCOUNT', + UNKNOWN: 'UNKNOWN' +}; + +exports.FinancialStatus = exports.$Enums.FinancialStatus = { + PENDING: 'PENDING', + PAID: 'PAID', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' +}; + +exports.DeviceType = exports.$Enums.DeviceType = { + Console: 'Console', + Desktop: 'Desktop', + Laptop: 'Laptop', + Smartphone: 'Smartphone', + Tablet: 'Tablet', + Wearable: 'Wearable', + Other: 'Other' +}; + +exports.SoftwareType = exports.$Enums.SoftwareType = { + DeveloperTools: 'DeveloperTools', + Browser: 'Browser', + Productivity: 'Productivity', + GraphAndDesign: 'GraphAndDesign', + Utilities: 'Utilities' +}; + +exports.ServiceProviderType = exports.$Enums.ServiceProviderType = { + InternetServiceProvider: 'InternetServiceProvider', + MobileCarrier: 'MobileCarrier', + Television: 'Television', + FinancialInstitution: 'FinancialInstitution', + Other: 'Other' +}; + +exports.WorkIndustryType = exports.$Enums.WorkIndustryType = { + Banking: 'Banking', + ConsumerGoods: 'ConsumerGoods', + Energy: 'Energy', + Entertainment: 'Entertainment', + HealthCare: 'HealthCare', + Pharma: 'Pharma', + PublicSector: 'PublicSector', + TechAndTechnologyService: 'TechAndTechnologyService', + Telecoms: 'Telecoms', + TravelAndHospitality: 'TravelAndHospitality', + Other: 'Other' +}; + +exports.Prisma.ModelName = { + member: 'member', + memberAddress: 'memberAddress', + memberPhone: 'memberPhone', + memberMaxRating: 'memberMaxRating', + memberFinancial: 'memberFinancial', + memberStatsHistory: 'memberStatsHistory', + memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', + memberTraits: 'memberTraits', + memberTraitDevice: 'memberTraitDevice', + memberTraitSoftware: 'memberTraitSoftware', + memberTraitServiceProvider: 'memberTraitServiceProvider', + memberTraitWork: 'memberTraitWork', + memberTraitEducation: 'memberTraitEducation', + memberTraitBasicInfo: 'memberTraitBasicInfo', + memberTraitLanguage: 'memberTraitLanguage', + memberTraitOnboardChecklist: 'memberTraitOnboardChecklist', + memberTraitPersonalization: 'memberTraitPersonalization', + memberTraitCommunity: 'memberTraitCommunity' +}; +/** + * Create the Client + */ +const config = { + "generator": { + "name": "externalClient", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "/home/jmgasper/Documents/Git/v6/member-api-v6/packages/member-prisma-client", + "fromEnvVar": null + }, + "config": { + "engineType": "library" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "debian-openssl-3.0.x", + "native": true + }, + { + "fromEnvVar": null, + "value": "debian-openssl-3.0.x" + } + ], + "previewFeatures": [], + "sourceFilePath": "/home/jmgasper/Documents/Git/v6/member-api-v6/prisma/schema.prisma", + "isCustomOutput": true + }, + "relativeEnvPaths": { + "rootEnvPath": null + }, + "relativePath": "../../prisma", + "clientVersion": "6.19.2", + "engineVersion": "c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "postinstall": false, + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n // Generate a package-scoped client to avoid monorepo conflicts\n output = \"./generated/client\"\n}\n\ngenerator externalClient {\n provider = \"prisma-client-js\"\n output = \"../packages/member-prisma-client\"\n binaryTargets = [\"native\", \"debian-openssl-3.0.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n schemas = [\"members\"]\n}\n\nenum MemberStatus {\n UNVERIFIED\n ACTIVE\n INACTIVE_USER_REQUEST\n INACTIVE_DUPLICATE_ACCOUNT\n INACTIVE_IRREGULAR_ACCOUNT\n UNKNOWN\n\n @@schema(\"members\")\n}\n\nenum FinancialStatus {\n PENDING\n PAID\n FAILED\n CANCELLED\n\n @@schema(\"members\")\n}\n\nmodel member {\n userId BigInt @id\n handle String\n handleLower String @unique\n email String @unique\n verified Boolean?\n skillScore Float?\n memberRatingId BigInt?\n maxRating memberMaxRating?\n firstName String?\n lastName String?\n description String?\n otherLangName String?\n status MemberStatus?\n newEmail String?\n emailVerifyToken String?\n emailVerifyTokenDate DateTime?\n newEmailVerifyToken String?\n newEmailVerifyTokenDate DateTime?\n addresses memberAddress[]\n phones memberPhone[]\n\n country String?\n homeCountryCode String?\n competitionCountryCode String?\n photoURL String?\n tracks String[]\n loginCount Int?\n lastLoginDate DateTime?\n availableForGigs Boolean?\n availableForGigsLastUpdateDate DateTime?\n lastProfileConfirmationDate DateTime?\n skillScoreDeduction Float?\n namesAndHandleAppearance String?\n aggregatedSkills Json?\n enteredSkills Json?\n\n financial memberFinancial?\n memberStats memberStats[]\n memberStatsHistory memberStatsHistory[]\n challengePoints memberChallengePoints[]\n memberTraits memberTraits?\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([handleLower])\n @@index([email])\n @@index([status, handleLower])\n @@index([lastLoginDate])\n @@index([availableForGigs])\n @@index([status, availableForGigs])\n @@index([homeCountryCode], map: \"idx_member_home_country_code\")\n @@index([competitionCountryCode], map: \"idx_member_competition_country_code\")\n @@schema(\"members\")\n}\n\nmodel memberAddress {\n id BigInt @id @default(autoincrement())\n userId BigInt\n streetAddr1 String?\n streetAddr2 String?\n city String?\n zip String?\n stateCode String?\n type String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, type])\n @@index([userId, type, id(sort: Desc)], map: \"idx_member_address_user_type\")\n @@schema(\"members\")\n}\n\nmodel memberPhone {\n id String @id @default(uuid())\n userId BigInt\n type String\n number String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, number])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberMaxRating {\n id BigInt @id @default(autoincrement())\n userId BigInt\n rating Int\n track String?\n subTrack String?\n ratingColor String\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberFinancial {\n userId BigInt @id\n amount Float\n status FinancialStatus\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@schema(\"members\")\n}\n\nmodel memberStatsHistory {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String\n typeId String\n challengeId String\n mostRecent Boolean @default(false)\n oldRating Int?\n newRating Int?\n placement Int?\n percentile Float?\n oldVolatility Int?\n newVolatility Int?\n oldGlobalRank Int?\n newGlobalRank Int?\n oldCountryRank Int?\n newCountryRank Int?\n oldSchoolRank Int?\n newSchoolRank Int?\n eventDate DateTime\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, trackId, typeId])\n @@index([userId, trackId, typeId, mostRecent])\n @@index([challengeId])\n @@index([eventDate])\n @@schema(\"members\")\n}\n\nmodel memberStats {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String?\n typeId String?\n challenges Int?\n wins Int?\n mostRecentSubmission DateTime?\n mostRecentEventDate DateTime?\n rating Int?\n avgRank Float?\n avgNumSubmissions Int?\n bestRank Int?\n globalRank Int?\n countryRank Int?\n schoolRank Int?\n volatility Int?\n maxRating Int?\n minRating Int?\n topFiveFinishes Int?\n topTenFinishes Int?\n isPrivate Boolean @default(false)\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, trackId, typeId])\n @@index([userId])\n @@index([trackId])\n @@index([typeId])\n @@index([trackId, typeId, rating])\n @@index([userId, trackId, typeId])\n @@index([globalRank])\n @@index([countryRank])\n @@index([schoolRank])\n @@schema(\"members\")\n}\n\nmodel memberChallengePoints {\n id BigInt @id @default(autoincrement())\n challengeId String\n challengeName String\n userId BigInt\n placement Int\n points Int\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([challengeId, userId])\n @@index([userId])\n @@index([challengeId])\n @@schema(\"members\")\n}\n\nmodel memberTraits {\n id BigInt @id @default(autoincrement())\n userId BigInt\n\n device memberTraitDevice[]\n software memberTraitSoftware[]\n serviceProvider memberTraitServiceProvider[]\n subscriptions String[]\n hobby String[]\n work memberTraitWork[]\n education memberTraitEducation[]\n basicInfo memberTraitBasicInfo[]\n language memberTraitLanguage[]\n checklist memberTraitOnboardChecklist[]\n personalization memberTraitPersonalization[]\n community memberTraitCommunity[]\n\n member member @relation(fields: [userId], references: [userId])\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nenum DeviceType {\n Console\n Desktop\n Laptop\n Smartphone\n Tablet\n Wearable\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitDevice {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n deviceType DeviceType\n manufacturer String\n model String\n operatingSystem String\n osVersion String?\n osLanguage String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum SoftwareType {\n DeveloperTools\n Browser\n Productivity\n GraphAndDesign\n Utilities\n\n @@schema(\"members\")\n}\n\nmodel memberTraitSoftware {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n softwareType SoftwareType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum ServiceProviderType {\n InternetServiceProvider\n MobileCarrier\n Television\n FinancialInstitution\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitServiceProvider {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n type ServiceProviderType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum WorkIndustryType {\n Banking\n ConsumerGoods\n Energy\n Entertainment\n HealthCare\n Pharma\n PublicSector\n TechAndTechnologyService\n Telecoms\n TravelAndHospitality\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitWork {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n industry WorkIndustryType?\n otherIndustry String?\n companyName String\n position String\n startDate DateTime?\n endDate DateTime?\n working Boolean?\n description String?\n associatedSkills String[]\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitEducation {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n collegeName String\n degree String\n endYear Int?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitBasicInfo {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n userId BigInt\n country String\n primaryInterestInTopcoder String\n tshirtSize String?\n gender String?\n shortBio String\n birthDate DateTime?\n currentLocation String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([memberTraitId])\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitLanguage {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n language String\n spokenLevel String?\n writtenLevel String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\n// This model is used to send messages when user login. When profile not complete, it will show up.\nmodel memberTraitOnboardChecklist {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n listItemType String // Like 'profile_completed'\n date DateTime\n message String\n status String\n skip Boolean?\n metadata Json?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitPersonalization {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n key String?\n value Json?\n private Boolean @default(false)\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@index([memberTraitId, key], map: \"memberTraitPersonalization_memberTraitId_key_idx\")\n @@schema(\"members\")\n}\n\nmodel memberTraitCommunity {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n communityName String\n status Boolean\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n", + "inlineSchemaHash": "72fac5e8a2fbcbc76562b3d93f6fe69b84080bdea52b075498a06a85d0e8524b", + "copyEngine": true +} +config.dirname = '/' + +config.runtimeDataModel = JSON.parse("{\"models\":{\"member\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handle\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handleLower\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberRatingId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberMaxRating\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherLangName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MemberStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberAddress\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phones\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberPhone\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"competitionCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"photoURL\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tracks\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"loginCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLoginDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigsLastUpdateDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProfileConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScoreDeduction\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"namesAndHandleAppearance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aggregatedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enteredSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"financial\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberFinancial\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStats\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStats\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStatsHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStatsHistory\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengePoints\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberChallengePoints\",\"nativeType\":null,\"relationName\":\"memberTomemberChallengePoints\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberAddress\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr1\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr2\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stateCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberPhone\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"number\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"number\"]}],\"isGenerated\":false},\"memberMaxRating\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"track\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subTrack\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ratingColor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberFinancial\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FinancialStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStatsHistory\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"percentile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStats\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challenges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wins\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentSubmission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentEventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgNumSubmissions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"globalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"countryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topFiveFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topTenFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"trackId\",\"typeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"trackId\",\"typeId\"]}],\"isGenerated\":false},\"memberChallengePoints\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"points\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberChallengePoints\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"challengeId\",\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"challengeId\",\"userId\"]}],\"isGenerated\":false},\"memberTraits\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"device\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitDevice\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"software\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitSoftware\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serviceProvider\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitServiceProvider\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptions\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hobby\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"work\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitWork\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"education\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitEducation\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basicInfo\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitBasicInfo\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitLanguage\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"checklist\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitOnboardChecklist\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"personalization\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitPersonalization\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"community\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitCommunity\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberTraitDevice\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DeviceType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatingSystem\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osLanguage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitSoftware\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"softwareType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SoftwareType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitServiceProvider\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServiceProviderType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitWork\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"industry\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WorkIndustryType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherIndustry\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"working\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"associatedSkills\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitEducation\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collegeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"degree\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endYear\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitBasicInfo\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"primaryInterestInTopcoder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tshirtSize\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"shortBio\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"memberTraitId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"memberTraitId\"]}],\"isGenerated\":false},\"memberTraitLanguage\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"spokenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"writtenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitOnboardChecklist\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"listItemType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitPersonalization\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"private\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitCommunity\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"communityName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"MemberStatus\":{\"values\":[{\"name\":\"UNVERIFIED\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"INACTIVE_USER_REQUEST\",\"dbName\":null},{\"name\":\"INACTIVE_DUPLICATE_ACCOUNT\",\"dbName\":null},{\"name\":\"INACTIVE_IRREGULAR_ACCOUNT\",\"dbName\":null},{\"name\":\"UNKNOWN\",\"dbName\":null}],\"dbName\":null},\"FinancialStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"PAID\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null}],\"dbName\":null},\"DeviceType\":{\"values\":[{\"name\":\"Console\",\"dbName\":null},{\"name\":\"Desktop\",\"dbName\":null},{\"name\":\"Laptop\",\"dbName\":null},{\"name\":\"Smartphone\",\"dbName\":null},{\"name\":\"Tablet\",\"dbName\":null},{\"name\":\"Wearable\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"SoftwareType\":{\"values\":[{\"name\":\"DeveloperTools\",\"dbName\":null},{\"name\":\"Browser\",\"dbName\":null},{\"name\":\"Productivity\",\"dbName\":null},{\"name\":\"GraphAndDesign\",\"dbName\":null},{\"name\":\"Utilities\",\"dbName\":null}],\"dbName\":null},\"ServiceProviderType\":{\"values\":[{\"name\":\"InternetServiceProvider\",\"dbName\":null},{\"name\":\"MobileCarrier\",\"dbName\":null},{\"name\":\"Television\",\"dbName\":null},{\"name\":\"FinancialInstitution\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"WorkIndustryType\":{\"values\":[{\"name\":\"Banking\",\"dbName\":null},{\"name\":\"ConsumerGoods\",\"dbName\":null},{\"name\":\"Energy\",\"dbName\":null},{\"name\":\"Entertainment\",\"dbName\":null},{\"name\":\"HealthCare\",\"dbName\":null},{\"name\":\"Pharma\",\"dbName\":null},{\"name\":\"PublicSector\",\"dbName\":null},{\"name\":\"TechAndTechnologyService\",\"dbName\":null},{\"name\":\"Telecoms\",\"dbName\":null},{\"name\":\"TravelAndHospitality\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +defineDmmfProperty(exports.Prisma, config.runtimeDataModel) +config.engineWasm = undefined +config.compilerWasm = undefined + +config.injectableEdgeEnv = () => ({ + parsed: { + DATABASE_URL: typeof globalThis !== 'undefined' && globalThis['DATABASE_URL'] || typeof process !== 'undefined' && process.env && process.env.DATABASE_URL || undefined + } +}) + +if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) { + Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) +} + +const PrismaClient = getPrismaClient(config) +exports.PrismaClient = PrismaClient +Object.assign(exports, Prisma) + diff --git a/packages/member-prisma-client/index-browser.js b/packages/member-prisma-client/index-browser.js new file mode 100644 index 0000000..935381c --- /dev/null +++ b/packages/member-prisma-client/index-browser.js @@ -0,0 +1,555 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + Decimal, + objectEnumValues, + makeStrictEnum, + Public, + getRuntime, + skip +} = require('./runtime/index-browser.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.19.2 + * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + */ +Prisma.prismaVersion = { + client: "6.19.2", + engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" +} + +Prisma.PrismaClientKnownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)}; +Prisma.PrismaClientUnknownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientRustPanicError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientInitializationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientValidationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.empty = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.join = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.raw = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.defineExtension = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + +/** + * Enums + */ + +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.MemberScalarFieldEnum = { + userId: 'userId', + handle: 'handle', + handleLower: 'handleLower', + email: 'email', + verified: 'verified', + skillScore: 'skillScore', + memberRatingId: 'memberRatingId', + firstName: 'firstName', + lastName: 'lastName', + description: 'description', + otherLangName: 'otherLangName', + status: 'status', + newEmail: 'newEmail', + emailVerifyToken: 'emailVerifyToken', + emailVerifyTokenDate: 'emailVerifyTokenDate', + newEmailVerifyToken: 'newEmailVerifyToken', + newEmailVerifyTokenDate: 'newEmailVerifyTokenDate', + country: 'country', + homeCountryCode: 'homeCountryCode', + competitionCountryCode: 'competitionCountryCode', + photoURL: 'photoURL', + tracks: 'tracks', + loginCount: 'loginCount', + lastLoginDate: 'lastLoginDate', + availableForGigs: 'availableForGigs', + availableForGigsLastUpdateDate: 'availableForGigsLastUpdateDate', + lastProfileConfirmationDate: 'lastProfileConfirmationDate', + skillScoreDeduction: 'skillScoreDeduction', + namesAndHandleAppearance: 'namesAndHandleAppearance', + aggregatedSkills: 'aggregatedSkills', + enteredSkills: 'enteredSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberAddressScalarFieldEnum = { + id: 'id', + userId: 'userId', + streetAddr1: 'streetAddr1', + streetAddr2: 'streetAddr2', + city: 'city', + zip: 'zip', + stateCode: 'stateCode', + type: 'type', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberPhoneScalarFieldEnum = { + id: 'id', + userId: 'userId', + type: 'type', + number: 'number', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberMaxRatingScalarFieldEnum = { + id: 'id', + userId: 'userId', + rating: 'rating', + track: 'track', + subTrack: 'subTrack', + ratingColor: 'ratingColor', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberFinancialScalarFieldEnum = { + userId: 'userId', + amount: 'amount', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberStatsHistoryScalarFieldEnum = { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challengeId: 'challengeId', + mostRecent: 'mostRecent', + oldRating: 'oldRating', + newRating: 'newRating', + placement: 'placement', + percentile: 'percentile', + oldVolatility: 'oldVolatility', + newVolatility: 'newVolatility', + oldGlobalRank: 'oldGlobalRank', + newGlobalRank: 'newGlobalRank', + oldCountryRank: 'oldCountryRank', + newCountryRank: 'newCountryRank', + oldSchoolRank: 'oldSchoolRank', + newSchoolRank: 'newSchoolRank', + eventDate: 'eventDate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberStatsScalarFieldEnum = { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challenges: 'challenges', + wins: 'wins', + mostRecentSubmission: 'mostRecentSubmission', + mostRecentEventDate: 'mostRecentEventDate', + rating: 'rating', + avgRank: 'avgRank', + avgNumSubmissions: 'avgNumSubmissions', + bestRank: 'bestRank', + globalRank: 'globalRank', + countryRank: 'countryRank', + schoolRank: 'schoolRank', + volatility: 'volatility', + maxRating: 'maxRating', + minRating: 'minRating', + topFiveFinishes: 'topFiveFinishes', + topTenFinishes: 'topTenFinishes', + isPrivate: 'isPrivate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberChallengePointsScalarFieldEnum = { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitsScalarFieldEnum = { + id: 'id', + userId: 'userId', + subscriptions: 'subscriptions', + hobby: 'hobby', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitDeviceScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + deviceType: 'deviceType', + manufacturer: 'manufacturer', + model: 'model', + operatingSystem: 'operatingSystem', + osVersion: 'osVersion', + osLanguage: 'osLanguage', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitSoftwareScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + softwareType: 'softwareType', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitServiceProviderScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + type: 'type', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitWorkScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + industry: 'industry', + otherIndustry: 'otherIndustry', + companyName: 'companyName', + position: 'position', + startDate: 'startDate', + endDate: 'endDate', + working: 'working', + description: 'description', + associatedSkills: 'associatedSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitEducationScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + collegeName: 'collegeName', + degree: 'degree', + endYear: 'endYear', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitBasicInfoScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + userId: 'userId', + country: 'country', + primaryInterestInTopcoder: 'primaryInterestInTopcoder', + tshirtSize: 'tshirtSize', + gender: 'gender', + shortBio: 'shortBio', + birthDate: 'birthDate', + currentLocation: 'currentLocation', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitLanguageScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + language: 'language', + spokenLevel: 'spokenLevel', + writtenLevel: 'writtenLevel', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitOnboardChecklistScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + listItemType: 'listItemType', + date: 'date', + message: 'message', + status: 'status', + skip: 'skip', + metadata: 'metadata', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitPersonalizationScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + key: 'key', + value: 'value', + private: 'private', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitCommunityScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + communityName: 'communityName', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.NullableJsonNullValueInput = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.JsonNullValueFilter = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull, + AnyNull: Prisma.AnyNull +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; +exports.MemberStatus = exports.$Enums.MemberStatus = { + UNVERIFIED: 'UNVERIFIED', + ACTIVE: 'ACTIVE', + INACTIVE_USER_REQUEST: 'INACTIVE_USER_REQUEST', + INACTIVE_DUPLICATE_ACCOUNT: 'INACTIVE_DUPLICATE_ACCOUNT', + INACTIVE_IRREGULAR_ACCOUNT: 'INACTIVE_IRREGULAR_ACCOUNT', + UNKNOWN: 'UNKNOWN' +}; + +exports.FinancialStatus = exports.$Enums.FinancialStatus = { + PENDING: 'PENDING', + PAID: 'PAID', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' +}; + +exports.DeviceType = exports.$Enums.DeviceType = { + Console: 'Console', + Desktop: 'Desktop', + Laptop: 'Laptop', + Smartphone: 'Smartphone', + Tablet: 'Tablet', + Wearable: 'Wearable', + Other: 'Other' +}; + +exports.SoftwareType = exports.$Enums.SoftwareType = { + DeveloperTools: 'DeveloperTools', + Browser: 'Browser', + Productivity: 'Productivity', + GraphAndDesign: 'GraphAndDesign', + Utilities: 'Utilities' +}; + +exports.ServiceProviderType = exports.$Enums.ServiceProviderType = { + InternetServiceProvider: 'InternetServiceProvider', + MobileCarrier: 'MobileCarrier', + Television: 'Television', + FinancialInstitution: 'FinancialInstitution', + Other: 'Other' +}; + +exports.WorkIndustryType = exports.$Enums.WorkIndustryType = { + Banking: 'Banking', + ConsumerGoods: 'ConsumerGoods', + Energy: 'Energy', + Entertainment: 'Entertainment', + HealthCare: 'HealthCare', + Pharma: 'Pharma', + PublicSector: 'PublicSector', + TechAndTechnologyService: 'TechAndTechnologyService', + Telecoms: 'Telecoms', + TravelAndHospitality: 'TravelAndHospitality', + Other: 'Other' +}; + +exports.Prisma.ModelName = { + member: 'member', + memberAddress: 'memberAddress', + memberPhone: 'memberPhone', + memberMaxRating: 'memberMaxRating', + memberFinancial: 'memberFinancial', + memberStatsHistory: 'memberStatsHistory', + memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', + memberTraits: 'memberTraits', + memberTraitDevice: 'memberTraitDevice', + memberTraitSoftware: 'memberTraitSoftware', + memberTraitServiceProvider: 'memberTraitServiceProvider', + memberTraitWork: 'memberTraitWork', + memberTraitEducation: 'memberTraitEducation', + memberTraitBasicInfo: 'memberTraitBasicInfo', + memberTraitLanguage: 'memberTraitLanguage', + memberTraitOnboardChecklist: 'memberTraitOnboardChecklist', + memberTraitPersonalization: 'memberTraitPersonalization', + memberTraitCommunity: 'memberTraitCommunity' +}; + +/** + * This is a stub Prisma Client that will error at runtime if called. + */ +class PrismaClient { + constructor() { + return new Proxy(this, { + get(target, prop) { + let message + const runtime = getRuntime() + if (runtime.isEdge) { + message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either: +- Use Prisma Accelerate: https://pris.ly/d/accelerate +- Use Driver Adapters: https://pris.ly/d/driver-adapters +`; + } else { + message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).' + } + + message += ` +If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report` + + throw new Error(message) + } + }) + } +} + +exports.PrismaClient = PrismaClient + +Object.assign(exports, Prisma) diff --git a/packages/member-prisma-client/index.d.ts b/packages/member-prisma-client/index.d.ts new file mode 100644 index 0000000..74fd124 --- /dev/null +++ b/packages/member-prisma-client/index.d.ts @@ -0,0 +1,38725 @@ + +/** + * Client +**/ + +import * as runtime from './runtime/library.js'; +import $Types = runtime.Types // general types +import $Public = runtime.Types.Public +import $Utils = runtime.Types.Utils +import $Extensions = runtime.Types.Extensions +import $Result = runtime.Types.Result + +export type PrismaPromise = $Public.PrismaPromise + + +/** + * Model member + * + */ +export type member = $Result.DefaultSelection +/** + * Model memberAddress + * + */ +export type memberAddress = $Result.DefaultSelection +/** + * Model memberPhone + * + */ +export type memberPhone = $Result.DefaultSelection +/** + * Model memberMaxRating + * + */ +export type memberMaxRating = $Result.DefaultSelection +/** + * Model memberFinancial + * + */ +export type memberFinancial = $Result.DefaultSelection +/** + * Model memberStatsHistory + * + */ +export type memberStatsHistory = $Result.DefaultSelection +/** + * Model memberStats + * + */ +export type memberStats = $Result.DefaultSelection +/** + * Model memberChallengePoints + * + */ +export type memberChallengePoints = $Result.DefaultSelection +/** + * Model memberTraits + * + */ +export type memberTraits = $Result.DefaultSelection +/** + * Model memberTraitDevice + * + */ +export type memberTraitDevice = $Result.DefaultSelection +/** + * Model memberTraitSoftware + * + */ +export type memberTraitSoftware = $Result.DefaultSelection +/** + * Model memberTraitServiceProvider + * + */ +export type memberTraitServiceProvider = $Result.DefaultSelection +/** + * Model memberTraitWork + * + */ +export type memberTraitWork = $Result.DefaultSelection +/** + * Model memberTraitEducation + * + */ +export type memberTraitEducation = $Result.DefaultSelection +/** + * Model memberTraitBasicInfo + * + */ +export type memberTraitBasicInfo = $Result.DefaultSelection +/** + * Model memberTraitLanguage + * + */ +export type memberTraitLanguage = $Result.DefaultSelection +/** + * Model memberTraitOnboardChecklist + * + */ +export type memberTraitOnboardChecklist = $Result.DefaultSelection +/** + * Model memberTraitPersonalization + * + */ +export type memberTraitPersonalization = $Result.DefaultSelection +/** + * Model memberTraitCommunity + * + */ +export type memberTraitCommunity = $Result.DefaultSelection + +/** + * Enums + */ +export namespace $Enums { + export const MemberStatus: { + UNVERIFIED: 'UNVERIFIED', + ACTIVE: 'ACTIVE', + INACTIVE_USER_REQUEST: 'INACTIVE_USER_REQUEST', + INACTIVE_DUPLICATE_ACCOUNT: 'INACTIVE_DUPLICATE_ACCOUNT', + INACTIVE_IRREGULAR_ACCOUNT: 'INACTIVE_IRREGULAR_ACCOUNT', + UNKNOWN: 'UNKNOWN' +}; + +export type MemberStatus = (typeof MemberStatus)[keyof typeof MemberStatus] + + +export const FinancialStatus: { + PENDING: 'PENDING', + PAID: 'PAID', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' +}; + +export type FinancialStatus = (typeof FinancialStatus)[keyof typeof FinancialStatus] + + +export const DeviceType: { + Console: 'Console', + Desktop: 'Desktop', + Laptop: 'Laptop', + Smartphone: 'Smartphone', + Tablet: 'Tablet', + Wearable: 'Wearable', + Other: 'Other' +}; + +export type DeviceType = (typeof DeviceType)[keyof typeof DeviceType] + + +export const SoftwareType: { + DeveloperTools: 'DeveloperTools', + Browser: 'Browser', + Productivity: 'Productivity', + GraphAndDesign: 'GraphAndDesign', + Utilities: 'Utilities' +}; + +export type SoftwareType = (typeof SoftwareType)[keyof typeof SoftwareType] + + +export const ServiceProviderType: { + InternetServiceProvider: 'InternetServiceProvider', + MobileCarrier: 'MobileCarrier', + Television: 'Television', + FinancialInstitution: 'FinancialInstitution', + Other: 'Other' +}; + +export type ServiceProviderType = (typeof ServiceProviderType)[keyof typeof ServiceProviderType] + + +export const WorkIndustryType: { + Banking: 'Banking', + ConsumerGoods: 'ConsumerGoods', + Energy: 'Energy', + Entertainment: 'Entertainment', + HealthCare: 'HealthCare', + Pharma: 'Pharma', + PublicSector: 'PublicSector', + TechAndTechnologyService: 'TechAndTechnologyService', + Telecoms: 'Telecoms', + TravelAndHospitality: 'TravelAndHospitality', + Other: 'Other' +}; + +export type WorkIndustryType = (typeof WorkIndustryType)[keyof typeof WorkIndustryType] + +} + +export type MemberStatus = $Enums.MemberStatus + +export const MemberStatus: typeof $Enums.MemberStatus + +export type FinancialStatus = $Enums.FinancialStatus + +export const FinancialStatus: typeof $Enums.FinancialStatus + +export type DeviceType = $Enums.DeviceType + +export const DeviceType: typeof $Enums.DeviceType + +export type SoftwareType = $Enums.SoftwareType + +export const SoftwareType: typeof $Enums.SoftwareType + +export type ServiceProviderType = $Enums.ServiceProviderType + +export const ServiceProviderType: typeof $Enums.ServiceProviderType + +export type WorkIndustryType = $Enums.WorkIndustryType + +export const WorkIndustryType: typeof $Enums.WorkIndustryType + +/** + * ## Prisma Client ʲˢ + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Members + * const members = await prisma.member.findMany() + * ``` + * + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). + */ +export class PrismaClient< + ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + const U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, + ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs +> { + [K: symbol]: { types: Prisma.TypeMap['other'] } + + /** + * ## Prisma Client ʲˢ + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Members + * const members = await prisma.member.findMany() + * ``` + * + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). + */ + + constructor(optionsArg ?: Prisma.Subset); + $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient; + + /** + * Connect with the database + */ + $connect(): $Utils.JsPromise; + + /** + * Disconnect from the database + */ + $disconnect(): $Utils.JsPromise; + +/** + * Executes a prepared raw query and returns the number of affected rows. + * @example + * ``` + * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; + + /** + * Executes a raw query and returns the number of affected rows. + * Susceptible to SQL injections, see documentation. + * @example + * ``` + * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + + /** + * Performs a prepared raw query and returns the `SELECT` data. + * @example + * ``` + * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; + + /** + * Performs a raw query and returns the `SELECT` data. + * Susceptible to SQL injections, see documentation. + * @example + * ``` + * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + + + /** + * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. + * @example + * ``` + * const [george, bob, alice] = await prisma.$transaction([ + * prisma.user.create({ data: { name: 'George' } }), + * prisma.user.create({ data: { name: 'Bob' } }), + * prisma.user.create({ data: { name: 'Alice' } }), + * ]) + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). + */ + $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> + + $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise + + + $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, { + extArgs: ExtArgs + }>> + + /** + * `prisma.member`: Exposes CRUD operations for the **member** model. + * Example usage: + * ```ts + * // Fetch zero or more Members + * const members = await prisma.member.findMany() + * ``` + */ + get member(): Prisma.memberDelegate; + + /** + * `prisma.memberAddress`: Exposes CRUD operations for the **memberAddress** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberAddresses + * const memberAddresses = await prisma.memberAddress.findMany() + * ``` + */ + get memberAddress(): Prisma.memberAddressDelegate; + + /** + * `prisma.memberPhone`: Exposes CRUD operations for the **memberPhone** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberPhones + * const memberPhones = await prisma.memberPhone.findMany() + * ``` + */ + get memberPhone(): Prisma.memberPhoneDelegate; + + /** + * `prisma.memberMaxRating`: Exposes CRUD operations for the **memberMaxRating** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberMaxRatings + * const memberMaxRatings = await prisma.memberMaxRating.findMany() + * ``` + */ + get memberMaxRating(): Prisma.memberMaxRatingDelegate; + + /** + * `prisma.memberFinancial`: Exposes CRUD operations for the **memberFinancial** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberFinancials + * const memberFinancials = await prisma.memberFinancial.findMany() + * ``` + */ + get memberFinancial(): Prisma.memberFinancialDelegate; + + /** + * `prisma.memberStatsHistory`: Exposes CRUD operations for the **memberStatsHistory** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberStatsHistories + * const memberStatsHistories = await prisma.memberStatsHistory.findMany() + * ``` + */ + get memberStatsHistory(): Prisma.memberStatsHistoryDelegate; + + /** + * `prisma.memberStats`: Exposes CRUD operations for the **memberStats** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberStats + * const memberStats = await prisma.memberStats.findMany() + * ``` + */ + get memberStats(): Prisma.memberStatsDelegate; + + /** + * `prisma.memberChallengePoints`: Exposes CRUD operations for the **memberChallengePoints** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findMany() + * ``` + */ + get memberChallengePoints(): Prisma.memberChallengePointsDelegate; + + /** + * `prisma.memberTraits`: Exposes CRUD operations for the **memberTraits** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraits + * const memberTraits = await prisma.memberTraits.findMany() + * ``` + */ + get memberTraits(): Prisma.memberTraitsDelegate; + + /** + * `prisma.memberTraitDevice`: Exposes CRUD operations for the **memberTraitDevice** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitDevices + * const memberTraitDevices = await prisma.memberTraitDevice.findMany() + * ``` + */ + get memberTraitDevice(): Prisma.memberTraitDeviceDelegate; + + /** + * `prisma.memberTraitSoftware`: Exposes CRUD operations for the **memberTraitSoftware** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitSoftwares + * const memberTraitSoftwares = await prisma.memberTraitSoftware.findMany() + * ``` + */ + get memberTraitSoftware(): Prisma.memberTraitSoftwareDelegate; + + /** + * `prisma.memberTraitServiceProvider`: Exposes CRUD operations for the **memberTraitServiceProvider** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitServiceProviders + * const memberTraitServiceProviders = await prisma.memberTraitServiceProvider.findMany() + * ``` + */ + get memberTraitServiceProvider(): Prisma.memberTraitServiceProviderDelegate; + + /** + * `prisma.memberTraitWork`: Exposes CRUD operations for the **memberTraitWork** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitWorks + * const memberTraitWorks = await prisma.memberTraitWork.findMany() + * ``` + */ + get memberTraitWork(): Prisma.memberTraitWorkDelegate; + + /** + * `prisma.memberTraitEducation`: Exposes CRUD operations for the **memberTraitEducation** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitEducations + * const memberTraitEducations = await prisma.memberTraitEducation.findMany() + * ``` + */ + get memberTraitEducation(): Prisma.memberTraitEducationDelegate; + + /** + * `prisma.memberTraitBasicInfo`: Exposes CRUD operations for the **memberTraitBasicInfo** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitBasicInfos + * const memberTraitBasicInfos = await prisma.memberTraitBasicInfo.findMany() + * ``` + */ + get memberTraitBasicInfo(): Prisma.memberTraitBasicInfoDelegate; + + /** + * `prisma.memberTraitLanguage`: Exposes CRUD operations for the **memberTraitLanguage** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitLanguages + * const memberTraitLanguages = await prisma.memberTraitLanguage.findMany() + * ``` + */ + get memberTraitLanguage(): Prisma.memberTraitLanguageDelegate; + + /** + * `prisma.memberTraitOnboardChecklist`: Exposes CRUD operations for the **memberTraitOnboardChecklist** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitOnboardChecklists + * const memberTraitOnboardChecklists = await prisma.memberTraitOnboardChecklist.findMany() + * ``` + */ + get memberTraitOnboardChecklist(): Prisma.memberTraitOnboardChecklistDelegate; + + /** + * `prisma.memberTraitPersonalization`: Exposes CRUD operations for the **memberTraitPersonalization** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitPersonalizations + * const memberTraitPersonalizations = await prisma.memberTraitPersonalization.findMany() + * ``` + */ + get memberTraitPersonalization(): Prisma.memberTraitPersonalizationDelegate; + + /** + * `prisma.memberTraitCommunity`: Exposes CRUD operations for the **memberTraitCommunity** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberTraitCommunities + * const memberTraitCommunities = await prisma.memberTraitCommunity.findMany() + * ``` + */ + get memberTraitCommunity(): Prisma.memberTraitCommunityDelegate; +} + +export namespace Prisma { + export import DMMF = runtime.DMMF + + export type PrismaPromise = $Public.PrismaPromise + + /** + * Validator + */ + export import validator = runtime.Public.validator + + /** + * Prisma Errors + */ + export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError + export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError + export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError + export import PrismaClientInitializationError = runtime.PrismaClientInitializationError + export import PrismaClientValidationError = runtime.PrismaClientValidationError + + /** + * Re-export of sql-template-tag + */ + export import sql = runtime.sqltag + export import empty = runtime.empty + export import join = runtime.join + export import raw = runtime.raw + export import Sql = runtime.Sql + + + + /** + * Decimal.js + */ + export import Decimal = runtime.Decimal + + export type DecimalJsLike = runtime.DecimalJsLike + + /** + * Metrics + */ + export type Metrics = runtime.Metrics + export type Metric = runtime.Metric + export type MetricHistogram = runtime.MetricHistogram + export type MetricHistogramBucket = runtime.MetricHistogramBucket + + /** + * Extensions + */ + export import Extension = $Extensions.UserArgs + export import getExtensionContext = runtime.Extensions.getExtensionContext + export import Args = $Public.Args + export import Payload = $Public.Payload + export import Result = $Public.Result + export import Exact = $Public.Exact + + /** + * Prisma Client JS version: 6.19.2 + * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + */ + export type PrismaVersion = { + client: string + } + + export const prismaVersion: PrismaVersion + + /** + * Utility Types + */ + + + export import Bytes = runtime.Bytes + export import JsonObject = runtime.JsonObject + export import JsonArray = runtime.JsonArray + export import JsonValue = runtime.JsonValue + export import InputJsonObject = runtime.InputJsonObject + export import InputJsonArray = runtime.InputJsonArray + export import InputJsonValue = runtime.InputJsonValue + + /** + * Types of the values used to represent different kinds of `null` values when working with JSON fields. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + namespace NullTypes { + /** + * Type of `Prisma.DbNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class DbNull { + private DbNull: never + private constructor() + } + + /** + * Type of `Prisma.JsonNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class JsonNull { + private JsonNull: never + private constructor() + } + + /** + * Type of `Prisma.AnyNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class AnyNull { + private AnyNull: never + private constructor() + } + } + + /** + * Helper for filtering JSON entries that have `null` on the database (empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + export const DbNull: NullTypes.DbNull + + /** + * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + export const JsonNull: NullTypes.JsonNull + + /** + * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + export const AnyNull: NullTypes.AnyNull + + type SelectAndInclude = { + select: any + include: any + } + + type SelectAndOmit = { + select: any + omit: any + } + + /** + * Get the type of the value, that the Promise holds. + */ + export type PromiseType> = T extends PromiseLike ? U : T; + + /** + * Get the return type of a function which returns a Promise. + */ + export type PromiseReturnType $Utils.JsPromise> = PromiseType> + + /** + * From T, pick a set of properties whose keys are in the union K + */ + type Prisma__Pick = { + [P in K]: T[P]; + }; + + + export type Enumerable = T | Array; + + export type RequiredKeys = { + [K in keyof T]-?: {} extends Prisma__Pick ? never : K + }[keyof T] + + export type TruthyKeys = keyof { + [K in keyof T as T[K] extends false | undefined | null ? never : K]: K + } + + export type TrueKeys = TruthyKeys>> + + /** + * Subset + * @desc From `T` pick properties that exist in `U`. Simple version of Intersection + */ + export type Subset = { + [key in keyof T]: key extends keyof U ? T[key] : never; + }; + + /** + * SelectSubset + * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. + * Additionally, it validates, if both select and include are present. If the case, it errors. + */ + export type SelectSubset = { + [key in keyof T]: key extends keyof U ? T[key] : never + } & + (T extends SelectAndInclude + ? 'Please either choose `select` or `include`.' + : T extends SelectAndOmit + ? 'Please either choose `select` or `omit`.' + : {}) + + /** + * Subset + Intersection + * @desc From `T` pick properties that exist in `U` and intersect `K` + */ + export type SubsetIntersection = { + [key in keyof T]: key extends keyof U ? T[key] : never + } & + K + + type Without = { [P in Exclude]?: never }; + + /** + * XOR is needed to have a real mutually exclusive union type + * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types + */ + type XOR = + T extends object ? + U extends object ? + (Without & U) | (Without & T) + : U : T + + + /** + * Is T a Record? + */ + type IsObject = T extends Array + ? False + : T extends Date + ? False + : T extends Uint8Array + ? False + : T extends BigInt + ? False + : T extends object + ? True + : False + + + /** + * If it's T[], return T + */ + export type UnEnumerate = T extends Array ? U : T + + /** + * From ts-toolbelt + */ + + type __Either = Omit & + { + // Merge all but K + [P in K]: Prisma__Pick // With K possibilities + }[K] + + type EitherStrict = Strict<__Either> + + type EitherLoose = ComputeRaw<__Either> + + type _Either< + O extends object, + K extends Key, + strict extends Boolean + > = { + 1: EitherStrict + 0: EitherLoose + }[strict] + + type Either< + O extends object, + K extends Key, + strict extends Boolean = 1 + > = O extends unknown ? _Either : never + + export type Union = any + + type PatchUndefined = { + [K in keyof O]: O[K] extends undefined ? At : O[K] + } & {} + + /** Helper Types for "Merge" **/ + export type IntersectOf = ( + U extends unknown ? (k: U) => void : never + ) extends (k: infer I) => void + ? I + : never + + export type Overwrite = { + [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; + } & {}; + + type _Merge = IntersectOf; + }>>; + + type Key = string | number | symbol; + type AtBasic = K extends keyof O ? O[K] : never; + type AtStrict = O[K & keyof O]; + type AtLoose = O extends unknown ? AtStrict : never; + export type At = { + 1: AtStrict; + 0: AtLoose; + }[strict]; + + export type ComputeRaw = A extends Function ? A : { + [K in keyof A]: A[K]; + } & {}; + + export type OptionalFlat = { + [K in keyof O]?: O[K]; + } & {}; + + type _Record = { + [P in K]: T; + }; + + // cause typescript not to expand types and preserve names + type NoExpand = T extends unknown ? T : never; + + // this type assumes the passed object is entirely optional + type AtLeast = NoExpand< + O extends unknown + ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) + | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O + : never>; + + type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; + + export type Strict = ComputeRaw<_Strict>; + /** End Helper Types for "Merge" **/ + + export type Merge = ComputeRaw<_Merge>>; + + /** + A [[Boolean]] + */ + export type Boolean = True | False + + // /** + // 1 + // */ + export type True = 1 + + /** + 0 + */ + export type False = 0 + + export type Not = { + 0: 1 + 1: 0 + }[B] + + export type Extends = [A1] extends [never] + ? 0 // anything `never` is false + : A1 extends A2 + ? 1 + : 0 + + export type Has = Not< + Extends, U1> + > + + export type Or = { + 0: { + 0: 0 + 1: 1 + } + 1: { + 0: 1 + 1: 1 + } + }[B1][B2] + + export type Keys = U extends unknown ? keyof U : never + + type Cast = A extends B ? A : B; + + export const type: unique symbol; + + + + /** + * Used by group by + */ + + export type GetScalarType = O extends object ? { + [P in keyof T]: P extends keyof O + ? O[P] + : never + } : never + + type FieldPaths< + T, + U = Omit + > = IsObject extends True ? U : T + + type GetHavingFields = { + [K in keyof T]: Or< + Or, Extends<'AND', K>>, + Extends<'NOT', K> + > extends True + ? // infer is only needed to not hit TS limit + // based on the brilliant idea of Pierre-Antoine Mills + // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 + T[K] extends infer TK + ? GetHavingFields extends object ? Merge> : never> + : never + : {} extends FieldPaths + ? never + : K + }[keyof T] + + /** + * Convert tuple to union + */ + type _TupleToUnion = T extends (infer E)[] ? E : never + type TupleToUnion = _TupleToUnion + type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T + + /** + * Like `Pick`, but additionally can also accept an array of keys + */ + type PickEnumerable | keyof T> = Prisma__Pick> + + /** + * Exclude all keys with underscores + */ + type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T + + + export type FieldRef = runtime.FieldRef + + type FieldRefInputType = Model extends never ? never : FieldRef + + + export const ModelName: { + member: 'member', + memberAddress: 'memberAddress', + memberPhone: 'memberPhone', + memberMaxRating: 'memberMaxRating', + memberFinancial: 'memberFinancial', + memberStatsHistory: 'memberStatsHistory', + memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', + memberTraits: 'memberTraits', + memberTraitDevice: 'memberTraitDevice', + memberTraitSoftware: 'memberTraitSoftware', + memberTraitServiceProvider: 'memberTraitServiceProvider', + memberTraitWork: 'memberTraitWork', + memberTraitEducation: 'memberTraitEducation', + memberTraitBasicInfo: 'memberTraitBasicInfo', + memberTraitLanguage: 'memberTraitLanguage', + memberTraitOnboardChecklist: 'memberTraitOnboardChecklist', + memberTraitPersonalization: 'memberTraitPersonalization', + memberTraitCommunity: 'memberTraitCommunity' + }; + + export type ModelName = (typeof ModelName)[keyof typeof ModelName] + + + export type Datasources = { + db?: Datasource + } + + interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record> { + returns: Prisma.TypeMap + } + + export type TypeMap = { + globalOmitOptions: { + omit: GlobalOmitOptions + } + meta: { + modelProps: "member" | "memberAddress" | "memberPhone" | "memberMaxRating" | "memberFinancial" | "memberStatsHistory" | "memberStats" | "memberChallengePoints" | "memberTraits" | "memberTraitDevice" | "memberTraitSoftware" | "memberTraitServiceProvider" | "memberTraitWork" | "memberTraitEducation" | "memberTraitBasicInfo" | "memberTraitLanguage" | "memberTraitOnboardChecklist" | "memberTraitPersonalization" | "memberTraitCommunity" + txIsolationLevel: Prisma.TransactionIsolationLevel + } + model: { + member: { + payload: Prisma.$memberPayload + fields: Prisma.memberFieldRefs + operations: { + findUnique: { + args: Prisma.memberFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberCountArgs + result: $Utils.Optional | number + } + } + } + memberAddress: { + payload: Prisma.$memberAddressPayload + fields: Prisma.memberAddressFieldRefs + operations: { + findUnique: { + args: Prisma.memberAddressFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberAddressFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberAddressFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberAddressFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberAddressFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberAddressCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberAddressCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberAddressCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberAddressDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberAddressUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberAddressDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberAddressUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberAddressUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberAddressUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberAddressAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberAddressGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberAddressCountArgs + result: $Utils.Optional | number + } + } + } + memberPhone: { + payload: Prisma.$memberPhonePayload + fields: Prisma.memberPhoneFieldRefs + operations: { + findUnique: { + args: Prisma.memberPhoneFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberPhoneFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberPhoneFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberPhoneFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberPhoneFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberPhoneCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberPhoneCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberPhoneCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberPhoneDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberPhoneUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberPhoneDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberPhoneUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberPhoneUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberPhoneUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberPhoneAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberPhoneGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberPhoneCountArgs + result: $Utils.Optional | number + } + } + } + memberMaxRating: { + payload: Prisma.$memberMaxRatingPayload + fields: Prisma.memberMaxRatingFieldRefs + operations: { + findUnique: { + args: Prisma.memberMaxRatingFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberMaxRatingFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberMaxRatingFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberMaxRatingFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberMaxRatingFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberMaxRatingCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberMaxRatingCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberMaxRatingCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberMaxRatingDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberMaxRatingUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberMaxRatingDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberMaxRatingUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberMaxRatingUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberMaxRatingUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberMaxRatingAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberMaxRatingGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberMaxRatingCountArgs + result: $Utils.Optional | number + } + } + } + memberFinancial: { + payload: Prisma.$memberFinancialPayload + fields: Prisma.memberFinancialFieldRefs + operations: { + findUnique: { + args: Prisma.memberFinancialFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberFinancialFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberFinancialFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberFinancialFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberFinancialFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberFinancialCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberFinancialCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberFinancialCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberFinancialDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberFinancialUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberFinancialDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberFinancialUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberFinancialUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberFinancialUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberFinancialAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberFinancialGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberFinancialCountArgs + result: $Utils.Optional | number + } + } + } + memberStatsHistory: { + payload: Prisma.$memberStatsHistoryPayload + fields: Prisma.memberStatsHistoryFieldRefs + operations: { + findUnique: { + args: Prisma.memberStatsHistoryFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberStatsHistoryFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberStatsHistoryFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberStatsHistoryFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberStatsHistoryFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberStatsHistoryCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberStatsHistoryCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberStatsHistoryCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberStatsHistoryDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberStatsHistoryUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberStatsHistoryDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberStatsHistoryUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberStatsHistoryUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberStatsHistoryUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberStatsHistoryAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberStatsHistoryGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberStatsHistoryCountArgs + result: $Utils.Optional | number + } + } + } + memberStats: { + payload: Prisma.$memberStatsPayload + fields: Prisma.memberStatsFieldRefs + operations: { + findUnique: { + args: Prisma.memberStatsFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberStatsFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberStatsFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberStatsFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberStatsFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberStatsCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberStatsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberStatsCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberStatsDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberStatsUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberStatsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberStatsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberStatsUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberStatsUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberStatsAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberStatsGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberStatsCountArgs + result: $Utils.Optional | number + } + } + } + memberChallengePoints: { + payload: Prisma.$memberChallengePointsPayload + fields: Prisma.memberChallengePointsFieldRefs + operations: { + findUnique: { + args: Prisma.memberChallengePointsFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberChallengePointsFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberChallengePointsFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberChallengePointsFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberChallengePointsFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberChallengePointsCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberChallengePointsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberChallengePointsCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberChallengePointsDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberChallengePointsUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberChallengePointsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberChallengePointsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberChallengePointsUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberChallengePointsUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberChallengePointsAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberChallengePointsGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberChallengePointsCountArgs + result: $Utils.Optional | number + } + } + } + memberTraits: { + payload: Prisma.$memberTraitsPayload + fields: Prisma.memberTraitsFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitsFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitsFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitsFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitsFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitsFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitsCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitsCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitsDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitsUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitsUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitsUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitsAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitsGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitsCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitDevice: { + payload: Prisma.$memberTraitDevicePayload + fields: Prisma.memberTraitDeviceFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitDeviceFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitDeviceFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitDeviceFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitDeviceFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitDeviceFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitDeviceCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitDeviceCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitDeviceCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitDeviceDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitDeviceUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitDeviceDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitDeviceUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitDeviceUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitDeviceUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitDeviceAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitDeviceGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitDeviceCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitSoftware: { + payload: Prisma.$memberTraitSoftwarePayload + fields: Prisma.memberTraitSoftwareFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitSoftwareFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitSoftwareFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitSoftwareFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitSoftwareFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitSoftwareFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitSoftwareCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitSoftwareCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitSoftwareCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitSoftwareDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitSoftwareUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitSoftwareDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitSoftwareUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitSoftwareUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitSoftwareUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitSoftwareAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitSoftwareGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitSoftwareCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitServiceProvider: { + payload: Prisma.$memberTraitServiceProviderPayload + fields: Prisma.memberTraitServiceProviderFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitServiceProviderFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitServiceProviderFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitServiceProviderFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitServiceProviderFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitServiceProviderFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitServiceProviderCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitServiceProviderCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitServiceProviderCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitServiceProviderDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitServiceProviderUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitServiceProviderDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitServiceProviderUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitServiceProviderUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitServiceProviderUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitServiceProviderAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitServiceProviderGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitServiceProviderCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitWork: { + payload: Prisma.$memberTraitWorkPayload + fields: Prisma.memberTraitWorkFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitWorkFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitWorkFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitWorkFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitWorkFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitWorkFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitWorkCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitWorkCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitWorkCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitWorkDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitWorkUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitWorkDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitWorkUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitWorkUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitWorkUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitWorkAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitWorkGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitWorkCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitEducation: { + payload: Prisma.$memberTraitEducationPayload + fields: Prisma.memberTraitEducationFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitEducationFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitEducationFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitEducationFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitEducationFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitEducationFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitEducationCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitEducationCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitEducationCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitEducationDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitEducationUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitEducationDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitEducationUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitEducationUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitEducationUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitEducationAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitEducationGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitEducationCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitBasicInfo: { + payload: Prisma.$memberTraitBasicInfoPayload + fields: Prisma.memberTraitBasicInfoFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitBasicInfoFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitBasicInfoFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitBasicInfoFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitBasicInfoFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitBasicInfoFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitBasicInfoCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitBasicInfoCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitBasicInfoCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitBasicInfoDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitBasicInfoUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitBasicInfoDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitBasicInfoUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitBasicInfoUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitBasicInfoUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitBasicInfoAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitBasicInfoGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitBasicInfoCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitLanguage: { + payload: Prisma.$memberTraitLanguagePayload + fields: Prisma.memberTraitLanguageFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitLanguageFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitLanguageFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitLanguageFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitLanguageFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitLanguageFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitLanguageCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitLanguageCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitLanguageCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitLanguageDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitLanguageUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitLanguageDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitLanguageUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitLanguageUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitLanguageUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitLanguageAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitLanguageGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitLanguageCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitOnboardChecklist: { + payload: Prisma.$memberTraitOnboardChecklistPayload + fields: Prisma.memberTraitOnboardChecklistFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitOnboardChecklistFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitOnboardChecklistFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitOnboardChecklistFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitOnboardChecklistFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitOnboardChecklistFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitOnboardChecklistCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitOnboardChecklistCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitOnboardChecklistCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitOnboardChecklistDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitOnboardChecklistUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitOnboardChecklistDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitOnboardChecklistUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitOnboardChecklistUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitOnboardChecklistUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitOnboardChecklistAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitOnboardChecklistGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitOnboardChecklistCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitPersonalization: { + payload: Prisma.$memberTraitPersonalizationPayload + fields: Prisma.memberTraitPersonalizationFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitPersonalizationFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitPersonalizationFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitPersonalizationFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitPersonalizationFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitPersonalizationFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitPersonalizationCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitPersonalizationCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitPersonalizationCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitPersonalizationDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitPersonalizationUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitPersonalizationDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitPersonalizationUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitPersonalizationUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitPersonalizationUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitPersonalizationAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitPersonalizationGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitPersonalizationCountArgs + result: $Utils.Optional | number + } + } + } + memberTraitCommunity: { + payload: Prisma.$memberTraitCommunityPayload + fields: Prisma.memberTraitCommunityFieldRefs + operations: { + findUnique: { + args: Prisma.memberTraitCommunityFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberTraitCommunityFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberTraitCommunityFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberTraitCommunityFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberTraitCommunityFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberTraitCommunityCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberTraitCommunityCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberTraitCommunityCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberTraitCommunityDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberTraitCommunityUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberTraitCommunityDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberTraitCommunityUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberTraitCommunityUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberTraitCommunityUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberTraitCommunityAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberTraitCommunityGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberTraitCommunityCountArgs + result: $Utils.Optional | number + } + } + } + } + } & { + other: { + payload: any + operations: { + $executeRaw: { + args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], + result: any + } + $executeRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + $queryRaw: { + args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], + result: any + } + $queryRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + } + } + } + export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> + export type DefaultPrismaClient = PrismaClient + export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' + export interface PrismaClientOptions { + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasources?: Datasources + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasourceUrl?: string + /** + * @default "colorless" + */ + errorFormat?: ErrorFormat + /** + * @example + * ``` + * // Shorthand for `emit: 'stdout'` + * log: ['query', 'info', 'warn', 'error'] + * + * // Emit as events only + * log: [ + * { emit: 'event', level: 'query' }, + * { emit: 'event', level: 'info' }, + * { emit: 'event', level: 'warn' } + * { emit: 'event', level: 'error' } + * ] + * + * / Emit as events and log to stdout + * og: [ + * { emit: 'stdout', level: 'query' }, + * { emit: 'stdout', level: 'info' }, + * { emit: 'stdout', level: 'warn' } + * { emit: 'stdout', level: 'error' } + * + * ``` + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). + */ + log?: (LogLevel | LogDefinition)[] + /** + * The default values for transactionOptions + * maxWait ?= 2000 + * timeout ?= 5000 + */ + transactionOptions?: { + maxWait?: number + timeout?: number + isolationLevel?: Prisma.TransactionIsolationLevel + } + /** + * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale` + */ + adapter?: runtime.SqlDriverAdapterFactory | null + /** + * Global configuration for omitting model fields by default. + * + * @example + * ``` + * const prisma = new PrismaClient({ + * omit: { + * user: { + * password: true + * } + * } + * }) + * ``` + */ + omit?: Prisma.GlobalOmitConfig + } + export type GlobalOmitConfig = { + member?: memberOmit + memberAddress?: memberAddressOmit + memberPhone?: memberPhoneOmit + memberMaxRating?: memberMaxRatingOmit + memberFinancial?: memberFinancialOmit + memberStatsHistory?: memberStatsHistoryOmit + memberStats?: memberStatsOmit + memberChallengePoints?: memberChallengePointsOmit + memberTraits?: memberTraitsOmit + memberTraitDevice?: memberTraitDeviceOmit + memberTraitSoftware?: memberTraitSoftwareOmit + memberTraitServiceProvider?: memberTraitServiceProviderOmit + memberTraitWork?: memberTraitWorkOmit + memberTraitEducation?: memberTraitEducationOmit + memberTraitBasicInfo?: memberTraitBasicInfoOmit + memberTraitLanguage?: memberTraitLanguageOmit + memberTraitOnboardChecklist?: memberTraitOnboardChecklistOmit + memberTraitPersonalization?: memberTraitPersonalizationOmit + memberTraitCommunity?: memberTraitCommunityOmit + } + + /* Types for Logging */ + export type LogLevel = 'info' | 'query' | 'warn' | 'error' + export type LogDefinition = { + level: LogLevel + emit: 'stdout' | 'event' + } + + export type CheckIsLogLevel = T extends LogLevel ? T : never; + + export type GetLogType = CheckIsLogLevel< + T extends LogDefinition ? T['level'] : T + >; + + export type GetEvents = T extends Array + ? GetLogType + : never; + + export type QueryEvent = { + timestamp: Date + query: string + params: string + duration: number + target: string + } + + export type LogEvent = { + timestamp: Date + message: string + target: string + } + /* End Types for Logging */ + + + export type PrismaAction = + | 'findUnique' + | 'findUniqueOrThrow' + | 'findMany' + | 'findFirst' + | 'findFirstOrThrow' + | 'create' + | 'createMany' + | 'createManyAndReturn' + | 'update' + | 'updateMany' + | 'updateManyAndReturn' + | 'upsert' + | 'delete' + | 'deleteMany' + | 'executeRaw' + | 'queryRaw' + | 'aggregate' + | 'count' + | 'runCommandRaw' + | 'findRaw' + | 'groupBy' + + // tested in getLogLevel.test.ts + export function getLogLevel(log: Array): LogLevel | undefined; + + /** + * `PrismaClient` proxy available in interactive transactions. + */ + export type TransactionClient = Omit + + export type Datasource = { + url?: string + } + + /** + * Count Types + */ + + + /** + * Count Type MemberCountOutputType + */ + + export type MemberCountOutputType = { + addresses: number + phones: number + memberStats: number + memberStatsHistory: number + challengePoints: number + } + + export type MemberCountOutputTypeSelect = { + addresses?: boolean | MemberCountOutputTypeCountAddressesArgs + phones?: boolean | MemberCountOutputTypeCountPhonesArgs + memberStats?: boolean | MemberCountOutputTypeCountMemberStatsArgs + memberStatsHistory?: boolean | MemberCountOutputTypeCountMemberStatsHistoryArgs + challengePoints?: boolean | MemberCountOutputTypeCountChallengePointsArgs + } + + // Custom InputTypes + /** + * MemberCountOutputType without action + */ + export type MemberCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the MemberCountOutputType + */ + select?: MemberCountOutputTypeSelect | null + } + + /** + * MemberCountOutputType without action + */ + export type MemberCountOutputTypeCountAddressesArgs = { + where?: memberAddressWhereInput + } + + /** + * MemberCountOutputType without action + */ + export type MemberCountOutputTypeCountPhonesArgs = { + where?: memberPhoneWhereInput + } + + /** + * MemberCountOutputType without action + */ + export type MemberCountOutputTypeCountMemberStatsArgs = { + where?: memberStatsWhereInput + } + + /** + * MemberCountOutputType without action + */ + export type MemberCountOutputTypeCountMemberStatsHistoryArgs = { + where?: memberStatsHistoryWhereInput + } + + /** + * MemberCountOutputType without action + */ + export type MemberCountOutputTypeCountChallengePointsArgs = { + where?: memberChallengePointsWhereInput + } + + + /** + * Count Type MemberTraitsCountOutputType + */ + + export type MemberTraitsCountOutputType = { + device: number + software: number + serviceProvider: number + work: number + education: number + basicInfo: number + language: number + checklist: number + personalization: number + community: number + } + + export type MemberTraitsCountOutputTypeSelect = { + device?: boolean | MemberTraitsCountOutputTypeCountDeviceArgs + software?: boolean | MemberTraitsCountOutputTypeCountSoftwareArgs + serviceProvider?: boolean | MemberTraitsCountOutputTypeCountServiceProviderArgs + work?: boolean | MemberTraitsCountOutputTypeCountWorkArgs + education?: boolean | MemberTraitsCountOutputTypeCountEducationArgs + basicInfo?: boolean | MemberTraitsCountOutputTypeCountBasicInfoArgs + language?: boolean | MemberTraitsCountOutputTypeCountLanguageArgs + checklist?: boolean | MemberTraitsCountOutputTypeCountChecklistArgs + personalization?: boolean | MemberTraitsCountOutputTypeCountPersonalizationArgs + community?: boolean | MemberTraitsCountOutputTypeCountCommunityArgs + } + + // Custom InputTypes + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the MemberTraitsCountOutputType + */ + select?: MemberTraitsCountOutputTypeSelect | null + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountDeviceArgs = { + where?: memberTraitDeviceWhereInput + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountSoftwareArgs = { + where?: memberTraitSoftwareWhereInput + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountServiceProviderArgs = { + where?: memberTraitServiceProviderWhereInput + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountWorkArgs = { + where?: memberTraitWorkWhereInput + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountEducationArgs = { + where?: memberTraitEducationWhereInput + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountBasicInfoArgs = { + where?: memberTraitBasicInfoWhereInput + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountLanguageArgs = { + where?: memberTraitLanguageWhereInput + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountChecklistArgs = { + where?: memberTraitOnboardChecklistWhereInput + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountPersonalizationArgs = { + where?: memberTraitPersonalizationWhereInput + } + + /** + * MemberTraitsCountOutputType without action + */ + export type MemberTraitsCountOutputTypeCountCommunityArgs = { + where?: memberTraitCommunityWhereInput + } + + + /** + * Models + */ + + /** + * Model member + */ + + export type AggregateMember = { + _count: MemberCountAggregateOutputType | null + _avg: MemberAvgAggregateOutputType | null + _sum: MemberSumAggregateOutputType | null + _min: MemberMinAggregateOutputType | null + _max: MemberMaxAggregateOutputType | null + } + + export type MemberAvgAggregateOutputType = { + userId: number | null + skillScore: number | null + memberRatingId: number | null + loginCount: number | null + skillScoreDeduction: number | null + } + + export type MemberSumAggregateOutputType = { + userId: bigint | null + skillScore: number | null + memberRatingId: bigint | null + loginCount: number | null + skillScoreDeduction: number | null + } + + export type MemberMinAggregateOutputType = { + userId: bigint | null + handle: string | null + handleLower: string | null + email: string | null + verified: boolean | null + skillScore: number | null + memberRatingId: bigint | null + firstName: string | null + lastName: string | null + description: string | null + otherLangName: string | null + status: $Enums.MemberStatus | null + newEmail: string | null + emailVerifyToken: string | null + emailVerifyTokenDate: Date | null + newEmailVerifyToken: string | null + newEmailVerifyTokenDate: Date | null + country: string | null + homeCountryCode: string | null + competitionCountryCode: string | null + photoURL: string | null + loginCount: number | null + lastLoginDate: Date | null + availableForGigs: boolean | null + availableForGigsLastUpdateDate: Date | null + lastProfileConfirmationDate: Date | null + skillScoreDeduction: number | null + namesAndHandleAppearance: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberMaxAggregateOutputType = { + userId: bigint | null + handle: string | null + handleLower: string | null + email: string | null + verified: boolean | null + skillScore: number | null + memberRatingId: bigint | null + firstName: string | null + lastName: string | null + description: string | null + otherLangName: string | null + status: $Enums.MemberStatus | null + newEmail: string | null + emailVerifyToken: string | null + emailVerifyTokenDate: Date | null + newEmailVerifyToken: string | null + newEmailVerifyTokenDate: Date | null + country: string | null + homeCountryCode: string | null + competitionCountryCode: string | null + photoURL: string | null + loginCount: number | null + lastLoginDate: Date | null + availableForGigs: boolean | null + availableForGigsLastUpdateDate: Date | null + lastProfileConfirmationDate: Date | null + skillScoreDeduction: number | null + namesAndHandleAppearance: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberCountAggregateOutputType = { + userId: number + handle: number + handleLower: number + email: number + verified: number + skillScore: number + memberRatingId: number + firstName: number + lastName: number + description: number + otherLangName: number + status: number + newEmail: number + emailVerifyToken: number + emailVerifyTokenDate: number + newEmailVerifyToken: number + newEmailVerifyTokenDate: number + country: number + homeCountryCode: number + competitionCountryCode: number + photoURL: number + tracks: number + loginCount: number + lastLoginDate: number + availableForGigs: number + availableForGigsLastUpdateDate: number + lastProfileConfirmationDate: number + skillScoreDeduction: number + namesAndHandleAppearance: number + aggregatedSkills: number + enteredSkills: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberAvgAggregateInputType = { + userId?: true + skillScore?: true + memberRatingId?: true + loginCount?: true + skillScoreDeduction?: true + } + + export type MemberSumAggregateInputType = { + userId?: true + skillScore?: true + memberRatingId?: true + loginCount?: true + skillScoreDeduction?: true + } + + export type MemberMinAggregateInputType = { + userId?: true + handle?: true + handleLower?: true + email?: true + verified?: true + skillScore?: true + memberRatingId?: true + firstName?: true + lastName?: true + description?: true + otherLangName?: true + status?: true + newEmail?: true + emailVerifyToken?: true + emailVerifyTokenDate?: true + newEmailVerifyToken?: true + newEmailVerifyTokenDate?: true + country?: true + homeCountryCode?: true + competitionCountryCode?: true + photoURL?: true + loginCount?: true + lastLoginDate?: true + availableForGigs?: true + availableForGigsLastUpdateDate?: true + lastProfileConfirmationDate?: true + skillScoreDeduction?: true + namesAndHandleAppearance?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberMaxAggregateInputType = { + userId?: true + handle?: true + handleLower?: true + email?: true + verified?: true + skillScore?: true + memberRatingId?: true + firstName?: true + lastName?: true + description?: true + otherLangName?: true + status?: true + newEmail?: true + emailVerifyToken?: true + emailVerifyTokenDate?: true + newEmailVerifyToken?: true + newEmailVerifyTokenDate?: true + country?: true + homeCountryCode?: true + competitionCountryCode?: true + photoURL?: true + loginCount?: true + lastLoginDate?: true + availableForGigs?: true + availableForGigsLastUpdateDate?: true + lastProfileConfirmationDate?: true + skillScoreDeduction?: true + namesAndHandleAppearance?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberCountAggregateInputType = { + userId?: true + handle?: true + handleLower?: true + email?: true + verified?: true + skillScore?: true + memberRatingId?: true + firstName?: true + lastName?: true + description?: true + otherLangName?: true + status?: true + newEmail?: true + emailVerifyToken?: true + emailVerifyTokenDate?: true + newEmailVerifyToken?: true + newEmailVerifyTokenDate?: true + country?: true + homeCountryCode?: true + competitionCountryCode?: true + photoURL?: true + tracks?: true + loginCount?: true + lastLoginDate?: true + availableForGigs?: true + availableForGigsLastUpdateDate?: true + lastProfileConfirmationDate?: true + skillScoreDeduction?: true + namesAndHandleAppearance?: true + aggregatedSkills?: true + enteredSkills?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberAggregateArgs = { + /** + * Filter which member to aggregate. + */ + where?: memberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of members to fetch. + */ + orderBy?: memberOrderByWithRelationInput | memberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` members 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` members. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned members + **/ + _count?: true | MemberCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberMaxAggregateInputType + } + + export type GetMemberAggregateType = { + [P in keyof T & keyof AggregateMember]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberGroupByArgs = { + where?: memberWhereInput + orderBy?: memberOrderByWithAggregationInput | memberOrderByWithAggregationInput[] + by: MemberScalarFieldEnum[] | MemberScalarFieldEnum + having?: memberScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberCountAggregateInputType | true + _avg?: MemberAvgAggregateInputType + _sum?: MemberSumAggregateInputType + _min?: MemberMinAggregateInputType + _max?: MemberMaxAggregateInputType + } + + export type MemberGroupByOutputType = { + userId: bigint + handle: string + handleLower: string + email: string + verified: boolean | null + skillScore: number | null + memberRatingId: bigint | null + firstName: string | null + lastName: string | null + description: string | null + otherLangName: string | null + status: $Enums.MemberStatus | null + newEmail: string | null + emailVerifyToken: string | null + emailVerifyTokenDate: Date | null + newEmailVerifyToken: string | null + newEmailVerifyTokenDate: Date | null + country: string | null + homeCountryCode: string | null + competitionCountryCode: string | null + photoURL: string | null + tracks: string[] + loginCount: number | null + lastLoginDate: Date | null + availableForGigs: boolean | null + availableForGigsLastUpdateDate: Date | null + lastProfileConfirmationDate: Date | null + skillScoreDeduction: number | null + namesAndHandleAppearance: string | null + aggregatedSkills: JsonValue | null + enteredSkills: JsonValue | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberCountAggregateOutputType | null + _avg: MemberAvgAggregateOutputType | null + _sum: MemberSumAggregateOutputType | null + _min: MemberMinAggregateOutputType | null + _max: MemberMaxAggregateOutputType | null + } + + type GetMemberGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberSelect = $Extensions.GetSelect<{ + userId?: boolean + handle?: boolean + handleLower?: boolean + email?: boolean + verified?: boolean + skillScore?: boolean + memberRatingId?: boolean + firstName?: boolean + lastName?: boolean + description?: boolean + otherLangName?: boolean + status?: boolean + newEmail?: boolean + emailVerifyToken?: boolean + emailVerifyTokenDate?: boolean + newEmailVerifyToken?: boolean + newEmailVerifyTokenDate?: boolean + country?: boolean + homeCountryCode?: boolean + competitionCountryCode?: boolean + photoURL?: boolean + tracks?: boolean + loginCount?: boolean + lastLoginDate?: boolean + availableForGigs?: boolean + availableForGigsLastUpdateDate?: boolean + lastProfileConfirmationDate?: boolean + skillScoreDeduction?: boolean + namesAndHandleAppearance?: boolean + aggregatedSkills?: boolean + enteredSkills?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + maxRating?: boolean | member$maxRatingArgs + addresses?: boolean | member$addressesArgs + phones?: boolean | member$phonesArgs + financial?: boolean | member$financialArgs + memberStats?: boolean | member$memberStatsArgs + memberStatsHistory?: boolean | member$memberStatsHistoryArgs + challengePoints?: boolean | member$challengePointsArgs + memberTraits?: boolean | member$memberTraitsArgs + _count?: boolean | MemberCountOutputTypeDefaultArgs + }, ExtArgs["result"]["member"]> + + export type memberSelectCreateManyAndReturn = $Extensions.GetSelect<{ + userId?: boolean + handle?: boolean + handleLower?: boolean + email?: boolean + verified?: boolean + skillScore?: boolean + memberRatingId?: boolean + firstName?: boolean + lastName?: boolean + description?: boolean + otherLangName?: boolean + status?: boolean + newEmail?: boolean + emailVerifyToken?: boolean + emailVerifyTokenDate?: boolean + newEmailVerifyToken?: boolean + newEmailVerifyTokenDate?: boolean + country?: boolean + homeCountryCode?: boolean + competitionCountryCode?: boolean + photoURL?: boolean + tracks?: boolean + loginCount?: boolean + lastLoginDate?: boolean + availableForGigs?: boolean + availableForGigsLastUpdateDate?: boolean + lastProfileConfirmationDate?: boolean + skillScoreDeduction?: boolean + namesAndHandleAppearance?: boolean + aggregatedSkills?: boolean + enteredSkills?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + }, ExtArgs["result"]["member"]> + + export type memberSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + userId?: boolean + handle?: boolean + handleLower?: boolean + email?: boolean + verified?: boolean + skillScore?: boolean + memberRatingId?: boolean + firstName?: boolean + lastName?: boolean + description?: boolean + otherLangName?: boolean + status?: boolean + newEmail?: boolean + emailVerifyToken?: boolean + emailVerifyTokenDate?: boolean + newEmailVerifyToken?: boolean + newEmailVerifyTokenDate?: boolean + country?: boolean + homeCountryCode?: boolean + competitionCountryCode?: boolean + photoURL?: boolean + tracks?: boolean + loginCount?: boolean + lastLoginDate?: boolean + availableForGigs?: boolean + availableForGigsLastUpdateDate?: boolean + lastProfileConfirmationDate?: boolean + skillScoreDeduction?: boolean + namesAndHandleAppearance?: boolean + aggregatedSkills?: boolean + enteredSkills?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + }, ExtArgs["result"]["member"]> + + export type memberSelectScalar = { + userId?: boolean + handle?: boolean + handleLower?: boolean + email?: boolean + verified?: boolean + skillScore?: boolean + memberRatingId?: boolean + firstName?: boolean + lastName?: boolean + description?: boolean + otherLangName?: boolean + status?: boolean + newEmail?: boolean + emailVerifyToken?: boolean + emailVerifyTokenDate?: boolean + newEmailVerifyToken?: boolean + newEmailVerifyTokenDate?: boolean + country?: boolean + homeCountryCode?: boolean + competitionCountryCode?: boolean + photoURL?: boolean + tracks?: boolean + loginCount?: boolean + lastLoginDate?: boolean + availableForGigs?: boolean + availableForGigsLastUpdateDate?: boolean + lastProfileConfirmationDate?: boolean + skillScoreDeduction?: boolean + namesAndHandleAppearance?: boolean + aggregatedSkills?: boolean + enteredSkills?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberOmit = $Extensions.GetOmit<"userId" | "handle" | "handleLower" | "email" | "verified" | "skillScore" | "memberRatingId" | "firstName" | "lastName" | "description" | "otherLangName" | "status" | "newEmail" | "emailVerifyToken" | "emailVerifyTokenDate" | "newEmailVerifyToken" | "newEmailVerifyTokenDate" | "country" | "homeCountryCode" | "competitionCountryCode" | "photoURL" | "tracks" | "loginCount" | "lastLoginDate" | "availableForGigs" | "availableForGigsLastUpdateDate" | "lastProfileConfirmationDate" | "skillScoreDeduction" | "namesAndHandleAppearance" | "aggregatedSkills" | "enteredSkills" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["member"]> + export type memberInclude = { + maxRating?: boolean | member$maxRatingArgs + addresses?: boolean | member$addressesArgs + phones?: boolean | member$phonesArgs + financial?: boolean | member$financialArgs + memberStats?: boolean | member$memberStatsArgs + memberStatsHistory?: boolean | member$memberStatsHistoryArgs + challengePoints?: boolean | member$challengePointsArgs + memberTraits?: boolean | member$memberTraitsArgs + _count?: boolean | MemberCountOutputTypeDefaultArgs + } + export type memberIncludeCreateManyAndReturn = {} + export type memberIncludeUpdateManyAndReturn = {} + + export type $memberPayload = { + name: "member" + objects: { + maxRating: Prisma.$memberMaxRatingPayload | null + addresses: Prisma.$memberAddressPayload[] + phones: Prisma.$memberPhonePayload[] + financial: Prisma.$memberFinancialPayload | null + memberStats: Prisma.$memberStatsPayload[] + memberStatsHistory: Prisma.$memberStatsHistoryPayload[] + challengePoints: Prisma.$memberChallengePointsPayload[] + memberTraits: Prisma.$memberTraitsPayload | null + } + scalars: $Extensions.GetPayloadResult<{ + userId: bigint + handle: string + handleLower: string + email: string + verified: boolean | null + skillScore: number | null + memberRatingId: bigint | null + firstName: string | null + lastName: string | null + description: string | null + otherLangName: string | null + status: $Enums.MemberStatus | null + newEmail: string | null + emailVerifyToken: string | null + emailVerifyTokenDate: Date | null + newEmailVerifyToken: string | null + newEmailVerifyTokenDate: Date | null + country: string | null + homeCountryCode: string | null + competitionCountryCode: string | null + photoURL: string | null + tracks: string[] + loginCount: number | null + lastLoginDate: Date | null + availableForGigs: boolean | null + availableForGigsLastUpdateDate: Date | null + lastProfileConfirmationDate: Date | null + skillScoreDeduction: number | null + namesAndHandleAppearance: string | null + aggregatedSkills: Prisma.JsonValue | null + enteredSkills: Prisma.JsonValue | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["member"]> + composites: {} + } + + type memberGetPayload = $Result.GetResult + + type memberCountArgs = + Omit & { + select?: MemberCountAggregateInputType | true + } + + export interface memberDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['member'], meta: { name: 'member' } } + /** + * Find zero or one Member that matches the filter. + * @param {memberFindUniqueArgs} args - Arguments to find a Member + * @example + * // Get one Member + * const member = await prisma.member.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Member that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberFindUniqueOrThrowArgs} args - Arguments to find a Member + * @example + * // Get one Member + * const member = await prisma.member.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Member 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 {memberFindFirstArgs} args - Arguments to find a Member + * @example + * // Get one Member + * const member = await prisma.member.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Member 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 {memberFindFirstOrThrowArgs} args - Arguments to find a Member + * @example + * // Get one Member + * const member = await prisma.member.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Members 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 {memberFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Members + * const members = await prisma.member.findMany() + * + * // Get first 10 Members + * const members = await prisma.member.findMany({ take: 10 }) + * + * // Only select the `userId` + * const memberWithUserIdOnly = await prisma.member.findMany({ select: { userId: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Member. + * @param {memberCreateArgs} args - Arguments to create a Member. + * @example + * // Create one Member + * const Member = await prisma.member.create({ + * data: { + * // ... data to create a Member + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Members. + * @param {memberCreateManyArgs} args - Arguments to create many Members. + * @example + * // Create many Members + * const member = await prisma.member.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Members and returns the data saved in the database. + * @param {memberCreateManyAndReturnArgs} args - Arguments to create many Members. + * @example + * // Create many Members + * const member = await prisma.member.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Members and only return the `userId` + * const memberWithUserIdOnly = await prisma.member.createManyAndReturn({ + * select: { userId: 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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Member. + * @param {memberDeleteArgs} args - Arguments to delete one Member. + * @example + * // Delete one Member + * const Member = await prisma.member.delete({ + * where: { + * // ... filter to delete one Member + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Member. + * @param {memberUpdateArgs} args - Arguments to update one Member. + * @example + * // Update one Member + * const member = await prisma.member.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Members. + * @param {memberDeleteManyArgs} args - Arguments to filter Members to delete. + * @example + * // Delete a few Members + * const { count } = await prisma.member.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Members. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Members + * const member = await prisma.member.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Members and returns the data updated in the database. + * @param {memberUpdateManyAndReturnArgs} args - Arguments to update many Members. + * @example + * // Update many Members + * const member = await prisma.member.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Members and only return the `userId` + * const memberWithUserIdOnly = await prisma.member.updateManyAndReturn({ + * select: { userId: 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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Member. + * @param {memberUpsertArgs} args - Arguments to update or create a Member. + * @example + * // Update or create a Member + * const member = await prisma.member.upsert({ + * create: { + * // ... data to create a Member + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Member we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Members. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberCountArgs} args - Arguments to filter Members to count. + * @example + * // Count the number of Members + * const count = await prisma.member.count({ + * where: { + * // ... the filter for the Members we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Member. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by Member. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberGroupByArgs} 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 memberGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberGroupByArgs['orderBy'] } + : { orderBy?: memberGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the member model + */ + readonly fields: memberFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for member. + * 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__memberClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + maxRating = {}>(args?: Subset>): Prisma__memberMaxRatingClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + addresses = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + phones = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + financial = {}>(args?: Subset>): Prisma__memberFinancialClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + memberStats = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + memberStatsHistory = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + challengePoints = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the member model + */ + interface memberFieldRefs { + readonly userId: FieldRef<"member", 'BigInt'> + readonly handle: FieldRef<"member", 'String'> + readonly handleLower: FieldRef<"member", 'String'> + readonly email: FieldRef<"member", 'String'> + readonly verified: FieldRef<"member", 'Boolean'> + readonly skillScore: FieldRef<"member", 'Float'> + readonly memberRatingId: FieldRef<"member", 'BigInt'> + readonly firstName: FieldRef<"member", 'String'> + readonly lastName: FieldRef<"member", 'String'> + readonly description: FieldRef<"member", 'String'> + readonly otherLangName: FieldRef<"member", 'String'> + readonly status: FieldRef<"member", 'MemberStatus'> + readonly newEmail: FieldRef<"member", 'String'> + readonly emailVerifyToken: FieldRef<"member", 'String'> + readonly emailVerifyTokenDate: FieldRef<"member", 'DateTime'> + readonly newEmailVerifyToken: FieldRef<"member", 'String'> + readonly newEmailVerifyTokenDate: FieldRef<"member", 'DateTime'> + readonly country: FieldRef<"member", 'String'> + readonly homeCountryCode: FieldRef<"member", 'String'> + readonly competitionCountryCode: FieldRef<"member", 'String'> + readonly photoURL: FieldRef<"member", 'String'> + readonly tracks: FieldRef<"member", 'String[]'> + readonly loginCount: FieldRef<"member", 'Int'> + readonly lastLoginDate: FieldRef<"member", 'DateTime'> + readonly availableForGigs: FieldRef<"member", 'Boolean'> + readonly availableForGigsLastUpdateDate: FieldRef<"member", 'DateTime'> + readonly lastProfileConfirmationDate: FieldRef<"member", 'DateTime'> + readonly skillScoreDeduction: FieldRef<"member", 'Float'> + readonly namesAndHandleAppearance: FieldRef<"member", 'String'> + readonly aggregatedSkills: FieldRef<"member", 'Json'> + readonly enteredSkills: FieldRef<"member", 'Json'> + readonly createdAt: FieldRef<"member", 'DateTime'> + readonly createdBy: FieldRef<"member", 'String'> + readonly updatedAt: FieldRef<"member", 'DateTime'> + readonly updatedBy: FieldRef<"member", 'String'> + } + + + // Custom InputTypes + /** + * member findUnique + */ + export type memberFindUniqueArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + /** + * Filter, which member to fetch. + */ + where: memberWhereUniqueInput + } + + /** + * member findUniqueOrThrow + */ + export type memberFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + /** + * Filter, which member to fetch. + */ + where: memberWhereUniqueInput + } + + /** + * member findFirst + */ + export type memberFindFirstArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + /** + * Filter, which member to fetch. + */ + where?: memberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of members to fetch. + */ + orderBy?: memberOrderByWithRelationInput | memberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for members. + */ + cursor?: memberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` members 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` members. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of members. + */ + distinct?: MemberScalarFieldEnum | MemberScalarFieldEnum[] + } + + /** + * member findFirstOrThrow + */ + export type memberFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + /** + * Filter, which member to fetch. + */ + where?: memberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of members to fetch. + */ + orderBy?: memberOrderByWithRelationInput | memberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for members. + */ + cursor?: memberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` members 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` members. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of members. + */ + distinct?: MemberScalarFieldEnum | MemberScalarFieldEnum[] + } + + /** + * member findMany + */ + export type memberFindManyArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + /** + * Filter, which members to fetch. + */ + where?: memberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of members to fetch. + */ + orderBy?: memberOrderByWithRelationInput | memberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing members. + */ + cursor?: memberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` members 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` members. + */ + skip?: number + distinct?: MemberScalarFieldEnum | MemberScalarFieldEnum[] + } + + /** + * member create + */ + export type memberCreateArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + /** + * The data needed to create a member. + */ + data: XOR + } + + /** + * member createMany + */ + export type memberCreateManyArgs = { + /** + * The data used to create many members. + */ + data: memberCreateManyInput | memberCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * member createManyAndReturn + */ + export type memberCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelectCreateManyAndReturn | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * The data used to create many members. + */ + data: memberCreateManyInput | memberCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * member update + */ + export type memberUpdateArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + /** + * The data needed to update a member. + */ + data: XOR + /** + * Choose, which member to update. + */ + where: memberWhereUniqueInput + } + + /** + * member updateMany + */ + export type memberUpdateManyArgs = { + /** + * The data used to update members. + */ + data: XOR + /** + * Filter which members to update + */ + where?: memberWhereInput + /** + * Limit how many members to update. + */ + limit?: number + } + + /** + * member updateManyAndReturn + */ + export type memberUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * The data used to update members. + */ + data: XOR + /** + * Filter which members to update + */ + where?: memberWhereInput + /** + * Limit how many members to update. + */ + limit?: number + } + + /** + * member upsert + */ + export type memberUpsertArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + /** + * The filter to search for the member to update in case it exists. + */ + where: memberWhereUniqueInput + /** + * In case the member found by the `where` argument doesn't exist, create a new member with this data. + */ + create: XOR + /** + * In case the member was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * member delete + */ + export type memberDeleteArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + /** + * Filter which member to delete. + */ + where: memberWhereUniqueInput + } + + /** + * member deleteMany + */ + export type memberDeleteManyArgs = { + /** + * Filter which members to delete + */ + where?: memberWhereInput + /** + * Limit how many members to delete. + */ + limit?: number + } + + /** + * member.maxRating + */ + export type member$maxRatingArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + where?: memberMaxRatingWhereInput + } + + /** + * member.addresses + */ + export type member$addressesArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + where?: memberAddressWhereInput + orderBy?: memberAddressOrderByWithRelationInput | memberAddressOrderByWithRelationInput[] + cursor?: memberAddressWhereUniqueInput + take?: number + skip?: number + distinct?: MemberAddressScalarFieldEnum | MemberAddressScalarFieldEnum[] + } + + /** + * member.phones + */ + export type member$phonesArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + where?: memberPhoneWhereInput + orderBy?: memberPhoneOrderByWithRelationInput | memberPhoneOrderByWithRelationInput[] + cursor?: memberPhoneWhereUniqueInput + take?: number + skip?: number + distinct?: MemberPhoneScalarFieldEnum | MemberPhoneScalarFieldEnum[] + } + + /** + * member.financial + */ + export type member$financialArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + where?: memberFinancialWhereInput + } + + /** + * member.memberStats + */ + export type member$memberStatsArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + where?: memberStatsWhereInput + orderBy?: memberStatsOrderByWithRelationInput | memberStatsOrderByWithRelationInput[] + cursor?: memberStatsWhereUniqueInput + take?: number + skip?: number + distinct?: MemberStatsScalarFieldEnum | MemberStatsScalarFieldEnum[] + } + + /** + * member.memberStatsHistory + */ + export type member$memberStatsHistoryArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + where?: memberStatsHistoryWhereInput + orderBy?: memberStatsHistoryOrderByWithRelationInput | memberStatsHistoryOrderByWithRelationInput[] + cursor?: memberStatsHistoryWhereUniqueInput + take?: number + skip?: number + distinct?: MemberStatsHistoryScalarFieldEnum | MemberStatsHistoryScalarFieldEnum[] + } + + /** + * member.challengePoints + */ + export type member$challengePointsArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + where?: memberChallengePointsWhereInput + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] + cursor?: memberChallengePointsWhereUniqueInput + take?: number + skip?: number + distinct?: MemberChallengePointsScalarFieldEnum | MemberChallengePointsScalarFieldEnum[] + } + + /** + * member.memberTraits + */ + export type member$memberTraitsArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + where?: memberTraitsWhereInput + } + + /** + * member without action + */ + export type memberDefaultArgs = { + /** + * Select specific fields to fetch from the member + */ + select?: memberSelect | null + /** + * Omit specific fields from the member + */ + omit?: memberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberInclude | null + } + + + /** + * Model memberAddress + */ + + export type AggregateMemberAddress = { + _count: MemberAddressCountAggregateOutputType | null + _avg: MemberAddressAvgAggregateOutputType | null + _sum: MemberAddressSumAggregateOutputType | null + _min: MemberAddressMinAggregateOutputType | null + _max: MemberAddressMaxAggregateOutputType | null + } + + export type MemberAddressAvgAggregateOutputType = { + id: number | null + userId: number | null + } + + export type MemberAddressSumAggregateOutputType = { + id: bigint | null + userId: bigint | null + } + + export type MemberAddressMinAggregateOutputType = { + id: bigint | null + userId: bigint | null + streetAddr1: string | null + streetAddr2: string | null + city: string | null + zip: string | null + stateCode: string | null + type: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberAddressMaxAggregateOutputType = { + id: bigint | null + userId: bigint | null + streetAddr1: string | null + streetAddr2: string | null + city: string | null + zip: string | null + stateCode: string | null + type: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberAddressCountAggregateOutputType = { + id: number + userId: number + streetAddr1: number + streetAddr2: number + city: number + zip: number + stateCode: number + type: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberAddressAvgAggregateInputType = { + id?: true + userId?: true + } + + export type MemberAddressSumAggregateInputType = { + id?: true + userId?: true + } + + export type MemberAddressMinAggregateInputType = { + id?: true + userId?: true + streetAddr1?: true + streetAddr2?: true + city?: true + zip?: true + stateCode?: true + type?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberAddressMaxAggregateInputType = { + id?: true + userId?: true + streetAddr1?: true + streetAddr2?: true + city?: true + zip?: true + stateCode?: true + type?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberAddressCountAggregateInputType = { + id?: true + userId?: true + streetAddr1?: true + streetAddr2?: true + city?: true + zip?: true + stateCode?: true + type?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberAddressAggregateArgs = { + /** + * Filter which memberAddress to aggregate. + */ + where?: memberAddressWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberAddresses to fetch. + */ + orderBy?: memberAddressOrderByWithRelationInput | memberAddressOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberAddressWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberAddresses 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` memberAddresses. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberAddresses + **/ + _count?: true | MemberAddressCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberAddressAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberAddressSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberAddressMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberAddressMaxAggregateInputType + } + + export type GetMemberAddressAggregateType = { + [P in keyof T & keyof AggregateMemberAddress]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberAddressGroupByArgs = { + where?: memberAddressWhereInput + orderBy?: memberAddressOrderByWithAggregationInput | memberAddressOrderByWithAggregationInput[] + by: MemberAddressScalarFieldEnum[] | MemberAddressScalarFieldEnum + having?: memberAddressScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberAddressCountAggregateInputType | true + _avg?: MemberAddressAvgAggregateInputType + _sum?: MemberAddressSumAggregateInputType + _min?: MemberAddressMinAggregateInputType + _max?: MemberAddressMaxAggregateInputType + } + + export type MemberAddressGroupByOutputType = { + id: bigint + userId: bigint + streetAddr1: string | null + streetAddr2: string | null + city: string | null + zip: string | null + stateCode: string | null + type: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberAddressCountAggregateOutputType | null + _avg: MemberAddressAvgAggregateOutputType | null + _sum: MemberAddressSumAggregateOutputType | null + _min: MemberAddressMinAggregateOutputType | null + _max: MemberAddressMaxAggregateOutputType | null + } + + type GetMemberAddressGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberAddressGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberAddressSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + streetAddr1?: boolean + streetAddr2?: boolean + city?: boolean + zip?: boolean + stateCode?: boolean + type?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberAddress"]> + + export type memberAddressSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + streetAddr1?: boolean + streetAddr2?: boolean + city?: boolean + zip?: boolean + stateCode?: boolean + type?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberAddress"]> + + export type memberAddressSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + streetAddr1?: boolean + streetAddr2?: boolean + city?: boolean + zip?: boolean + stateCode?: boolean + type?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberAddress"]> + + export type memberAddressSelectScalar = { + id?: boolean + userId?: boolean + streetAddr1?: boolean + streetAddr2?: boolean + city?: boolean + zip?: boolean + stateCode?: boolean + type?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberAddressOmit = $Extensions.GetOmit<"id" | "userId" | "streetAddr1" | "streetAddr2" | "city" | "zip" | "stateCode" | "type" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberAddress"]> + export type memberAddressInclude = { + member?: boolean | memberDefaultArgs + } + export type memberAddressIncludeCreateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + export type memberAddressIncludeUpdateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + + export type $memberAddressPayload = { + name: "memberAddress" + objects: { + member: Prisma.$memberPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + userId: bigint + streetAddr1: string | null + streetAddr2: string | null + city: string | null + zip: string | null + stateCode: string | null + type: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberAddress"]> + composites: {} + } + + type memberAddressGetPayload = $Result.GetResult + + type memberAddressCountArgs = + Omit & { + select?: MemberAddressCountAggregateInputType | true + } + + export interface memberAddressDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberAddress'], meta: { name: 'memberAddress' } } + /** + * Find zero or one MemberAddress that matches the filter. + * @param {memberAddressFindUniqueArgs} args - Arguments to find a MemberAddress + * @example + * // Get one MemberAddress + * const memberAddress = await prisma.memberAddress.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberAddressClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberAddress that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberAddressFindUniqueOrThrowArgs} args - Arguments to find a MemberAddress + * @example + * // Get one MemberAddress + * const memberAddress = await prisma.memberAddress.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberAddressClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberAddress 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 {memberAddressFindFirstArgs} args - Arguments to find a MemberAddress + * @example + * // Get one MemberAddress + * const memberAddress = await prisma.memberAddress.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberAddressClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberAddress 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 {memberAddressFindFirstOrThrowArgs} args - Arguments to find a MemberAddress + * @example + * // Get one MemberAddress + * const memberAddress = await prisma.memberAddress.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberAddressClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberAddresses 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 {memberAddressFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberAddresses + * const memberAddresses = await prisma.memberAddress.findMany() + * + * // Get first 10 MemberAddresses + * const memberAddresses = await prisma.memberAddress.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberAddressWithIdOnly = await prisma.memberAddress.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberAddress. + * @param {memberAddressCreateArgs} args - Arguments to create a MemberAddress. + * @example + * // Create one MemberAddress + * const MemberAddress = await prisma.memberAddress.create({ + * data: { + * // ... data to create a MemberAddress + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberAddressClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberAddresses. + * @param {memberAddressCreateManyArgs} args - Arguments to create many MemberAddresses. + * @example + * // Create many MemberAddresses + * const memberAddress = await prisma.memberAddress.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberAddresses and returns the data saved in the database. + * @param {memberAddressCreateManyAndReturnArgs} args - Arguments to create many MemberAddresses. + * @example + * // Create many MemberAddresses + * const memberAddress = await prisma.memberAddress.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberAddresses and only return the `id` + * const memberAddressWithIdOnly = await prisma.memberAddress.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberAddress. + * @param {memberAddressDeleteArgs} args - Arguments to delete one MemberAddress. + * @example + * // Delete one MemberAddress + * const MemberAddress = await prisma.memberAddress.delete({ + * where: { + * // ... filter to delete one MemberAddress + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberAddressClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberAddress. + * @param {memberAddressUpdateArgs} args - Arguments to update one MemberAddress. + * @example + * // Update one MemberAddress + * const memberAddress = await prisma.memberAddress.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberAddressClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberAddresses. + * @param {memberAddressDeleteManyArgs} args - Arguments to filter MemberAddresses to delete. + * @example + * // Delete a few MemberAddresses + * const { count } = await prisma.memberAddress.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberAddresses. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberAddressUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberAddresses + * const memberAddress = await prisma.memberAddress.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberAddresses and returns the data updated in the database. + * @param {memberAddressUpdateManyAndReturnArgs} args - Arguments to update many MemberAddresses. + * @example + * // Update many MemberAddresses + * const memberAddress = await prisma.memberAddress.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberAddresses and only return the `id` + * const memberAddressWithIdOnly = await prisma.memberAddress.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberAddress. + * @param {memberAddressUpsertArgs} args - Arguments to update or create a MemberAddress. + * @example + * // Update or create a MemberAddress + * const memberAddress = await prisma.memberAddress.upsert({ + * create: { + * // ... data to create a MemberAddress + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberAddress we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberAddressClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberAddresses. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberAddressCountArgs} args - Arguments to filter MemberAddresses to count. + * @example + * // Count the number of MemberAddresses + * const count = await prisma.memberAddress.count({ + * where: { + * // ... the filter for the MemberAddresses we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberAddress. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberAddressAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberAddress. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberAddressGroupByArgs} 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 memberAddressGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberAddressGroupByArgs['orderBy'] } + : { orderBy?: memberAddressGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberAddressGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberAddress model + */ + readonly fields: memberAddressFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberAddress. + * 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__memberAddressClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + member = {}>(args?: Subset>): Prisma__memberClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberAddress model + */ + interface memberAddressFieldRefs { + readonly id: FieldRef<"memberAddress", 'BigInt'> + readonly userId: FieldRef<"memberAddress", 'BigInt'> + readonly streetAddr1: FieldRef<"memberAddress", 'String'> + readonly streetAddr2: FieldRef<"memberAddress", 'String'> + readonly city: FieldRef<"memberAddress", 'String'> + readonly zip: FieldRef<"memberAddress", 'String'> + readonly stateCode: FieldRef<"memberAddress", 'String'> + readonly type: FieldRef<"memberAddress", 'String'> + readonly createdAt: FieldRef<"memberAddress", 'DateTime'> + readonly createdBy: FieldRef<"memberAddress", 'String'> + readonly updatedAt: FieldRef<"memberAddress", 'DateTime'> + readonly updatedBy: FieldRef<"memberAddress", 'String'> + } + + + // Custom InputTypes + /** + * memberAddress findUnique + */ + export type memberAddressFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + /** + * Filter, which memberAddress to fetch. + */ + where: memberAddressWhereUniqueInput + } + + /** + * memberAddress findUniqueOrThrow + */ + export type memberAddressFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + /** + * Filter, which memberAddress to fetch. + */ + where: memberAddressWhereUniqueInput + } + + /** + * memberAddress findFirst + */ + export type memberAddressFindFirstArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + /** + * Filter, which memberAddress to fetch. + */ + where?: memberAddressWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberAddresses to fetch. + */ + orderBy?: memberAddressOrderByWithRelationInput | memberAddressOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberAddresses. + */ + cursor?: memberAddressWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberAddresses 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` memberAddresses. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberAddresses. + */ + distinct?: MemberAddressScalarFieldEnum | MemberAddressScalarFieldEnum[] + } + + /** + * memberAddress findFirstOrThrow + */ + export type memberAddressFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + /** + * Filter, which memberAddress to fetch. + */ + where?: memberAddressWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberAddresses to fetch. + */ + orderBy?: memberAddressOrderByWithRelationInput | memberAddressOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberAddresses. + */ + cursor?: memberAddressWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberAddresses 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` memberAddresses. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberAddresses. + */ + distinct?: MemberAddressScalarFieldEnum | MemberAddressScalarFieldEnum[] + } + + /** + * memberAddress findMany + */ + export type memberAddressFindManyArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + /** + * Filter, which memberAddresses to fetch. + */ + where?: memberAddressWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberAddresses to fetch. + */ + orderBy?: memberAddressOrderByWithRelationInput | memberAddressOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberAddresses. + */ + cursor?: memberAddressWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberAddresses 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` memberAddresses. + */ + skip?: number + distinct?: MemberAddressScalarFieldEnum | MemberAddressScalarFieldEnum[] + } + + /** + * memberAddress create + */ + export type memberAddressCreateArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + /** + * The data needed to create a memberAddress. + */ + data: XOR + } + + /** + * memberAddress createMany + */ + export type memberAddressCreateManyArgs = { + /** + * The data used to create many memberAddresses. + */ + data: memberAddressCreateManyInput | memberAddressCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberAddress createManyAndReturn + */ + export type memberAddressCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * The data used to create many memberAddresses. + */ + data: memberAddressCreateManyInput | memberAddressCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressIncludeCreateManyAndReturn | null + } + + /** + * memberAddress update + */ + export type memberAddressUpdateArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + /** + * The data needed to update a memberAddress. + */ + data: XOR + /** + * Choose, which memberAddress to update. + */ + where: memberAddressWhereUniqueInput + } + + /** + * memberAddress updateMany + */ + export type memberAddressUpdateManyArgs = { + /** + * The data used to update memberAddresses. + */ + data: XOR + /** + * Filter which memberAddresses to update + */ + where?: memberAddressWhereInput + /** + * Limit how many memberAddresses to update. + */ + limit?: number + } + + /** + * memberAddress updateManyAndReturn + */ + export type memberAddressUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * The data used to update memberAddresses. + */ + data: XOR + /** + * Filter which memberAddresses to update + */ + where?: memberAddressWhereInput + /** + * Limit how many memberAddresses to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressIncludeUpdateManyAndReturn | null + } + + /** + * memberAddress upsert + */ + export type memberAddressUpsertArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + /** + * The filter to search for the memberAddress to update in case it exists. + */ + where: memberAddressWhereUniqueInput + /** + * In case the memberAddress found by the `where` argument doesn't exist, create a new memberAddress with this data. + */ + create: XOR + /** + * In case the memberAddress was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberAddress delete + */ + export type memberAddressDeleteArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + /** + * Filter which memberAddress to delete. + */ + where: memberAddressWhereUniqueInput + } + + /** + * memberAddress deleteMany + */ + export type memberAddressDeleteManyArgs = { + /** + * Filter which memberAddresses to delete + */ + where?: memberAddressWhereInput + /** + * Limit how many memberAddresses to delete. + */ + limit?: number + } + + /** + * memberAddress without action + */ + export type memberAddressDefaultArgs = { + /** + * Select specific fields to fetch from the memberAddress + */ + select?: memberAddressSelect | null + /** + * Omit specific fields from the memberAddress + */ + omit?: memberAddressOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberAddressInclude | null + } + + + /** + * Model memberPhone + */ + + export type AggregateMemberPhone = { + _count: MemberPhoneCountAggregateOutputType | null + _avg: MemberPhoneAvgAggregateOutputType | null + _sum: MemberPhoneSumAggregateOutputType | null + _min: MemberPhoneMinAggregateOutputType | null + _max: MemberPhoneMaxAggregateOutputType | null + } + + export type MemberPhoneAvgAggregateOutputType = { + userId: number | null + } + + export type MemberPhoneSumAggregateOutputType = { + userId: bigint | null + } + + export type MemberPhoneMinAggregateOutputType = { + id: string | null + userId: bigint | null + type: string | null + number: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberPhoneMaxAggregateOutputType = { + id: string | null + userId: bigint | null + type: string | null + number: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberPhoneCountAggregateOutputType = { + id: number + userId: number + type: number + number: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberPhoneAvgAggregateInputType = { + userId?: true + } + + export type MemberPhoneSumAggregateInputType = { + userId?: true + } + + export type MemberPhoneMinAggregateInputType = { + id?: true + userId?: true + type?: true + number?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberPhoneMaxAggregateInputType = { + id?: true + userId?: true + type?: true + number?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberPhoneCountAggregateInputType = { + id?: true + userId?: true + type?: true + number?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberPhoneAggregateArgs = { + /** + * Filter which memberPhone to aggregate. + */ + where?: memberPhoneWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberPhones to fetch. + */ + orderBy?: memberPhoneOrderByWithRelationInput | memberPhoneOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberPhoneWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberPhones 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` memberPhones. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberPhones + **/ + _count?: true | MemberPhoneCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberPhoneAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberPhoneSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberPhoneMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberPhoneMaxAggregateInputType + } + + export type GetMemberPhoneAggregateType = { + [P in keyof T & keyof AggregateMemberPhone]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberPhoneGroupByArgs = { + where?: memberPhoneWhereInput + orderBy?: memberPhoneOrderByWithAggregationInput | memberPhoneOrderByWithAggregationInput[] + by: MemberPhoneScalarFieldEnum[] | MemberPhoneScalarFieldEnum + having?: memberPhoneScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberPhoneCountAggregateInputType | true + _avg?: MemberPhoneAvgAggregateInputType + _sum?: MemberPhoneSumAggregateInputType + _min?: MemberPhoneMinAggregateInputType + _max?: MemberPhoneMaxAggregateInputType + } + + export type MemberPhoneGroupByOutputType = { + id: string + userId: bigint + type: string + number: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberPhoneCountAggregateOutputType | null + _avg: MemberPhoneAvgAggregateOutputType | null + _sum: MemberPhoneSumAggregateOutputType | null + _min: MemberPhoneMinAggregateOutputType | null + _max: MemberPhoneMaxAggregateOutputType | null + } + + type GetMemberPhoneGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberPhoneGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberPhoneSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + type?: boolean + number?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberPhone"]> + + export type memberPhoneSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + type?: boolean + number?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberPhone"]> + + export type memberPhoneSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + type?: boolean + number?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberPhone"]> + + export type memberPhoneSelectScalar = { + id?: boolean + userId?: boolean + type?: boolean + number?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberPhoneOmit = $Extensions.GetOmit<"id" | "userId" | "type" | "number" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberPhone"]> + export type memberPhoneInclude = { + member?: boolean | memberDefaultArgs + } + export type memberPhoneIncludeCreateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + export type memberPhoneIncludeUpdateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + + export type $memberPhonePayload = { + name: "memberPhone" + objects: { + member: Prisma.$memberPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + userId: bigint + type: string + number: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberPhone"]> + composites: {} + } + + type memberPhoneGetPayload = $Result.GetResult + + type memberPhoneCountArgs = + Omit & { + select?: MemberPhoneCountAggregateInputType | true + } + + export interface memberPhoneDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberPhone'], meta: { name: 'memberPhone' } } + /** + * Find zero or one MemberPhone that matches the filter. + * @param {memberPhoneFindUniqueArgs} args - Arguments to find a MemberPhone + * @example + * // Get one MemberPhone + * const memberPhone = await prisma.memberPhone.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberPhoneClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberPhone that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberPhoneFindUniqueOrThrowArgs} args - Arguments to find a MemberPhone + * @example + * // Get one MemberPhone + * const memberPhone = await prisma.memberPhone.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberPhoneClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberPhone 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 {memberPhoneFindFirstArgs} args - Arguments to find a MemberPhone + * @example + * // Get one MemberPhone + * const memberPhone = await prisma.memberPhone.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberPhoneClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberPhone 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 {memberPhoneFindFirstOrThrowArgs} args - Arguments to find a MemberPhone + * @example + * // Get one MemberPhone + * const memberPhone = await prisma.memberPhone.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberPhoneClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberPhones 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 {memberPhoneFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberPhones + * const memberPhones = await prisma.memberPhone.findMany() + * + * // Get first 10 MemberPhones + * const memberPhones = await prisma.memberPhone.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberPhoneWithIdOnly = await prisma.memberPhone.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberPhone. + * @param {memberPhoneCreateArgs} args - Arguments to create a MemberPhone. + * @example + * // Create one MemberPhone + * const MemberPhone = await prisma.memberPhone.create({ + * data: { + * // ... data to create a MemberPhone + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberPhoneClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberPhones. + * @param {memberPhoneCreateManyArgs} args - Arguments to create many MemberPhones. + * @example + * // Create many MemberPhones + * const memberPhone = await prisma.memberPhone.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberPhones and returns the data saved in the database. + * @param {memberPhoneCreateManyAndReturnArgs} args - Arguments to create many MemberPhones. + * @example + * // Create many MemberPhones + * const memberPhone = await prisma.memberPhone.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberPhones and only return the `id` + * const memberPhoneWithIdOnly = await prisma.memberPhone.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberPhone. + * @param {memberPhoneDeleteArgs} args - Arguments to delete one MemberPhone. + * @example + * // Delete one MemberPhone + * const MemberPhone = await prisma.memberPhone.delete({ + * where: { + * // ... filter to delete one MemberPhone + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberPhoneClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberPhone. + * @param {memberPhoneUpdateArgs} args - Arguments to update one MemberPhone. + * @example + * // Update one MemberPhone + * const memberPhone = await prisma.memberPhone.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberPhoneClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberPhones. + * @param {memberPhoneDeleteManyArgs} args - Arguments to filter MemberPhones to delete. + * @example + * // Delete a few MemberPhones + * const { count } = await prisma.memberPhone.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberPhones. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberPhoneUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberPhones + * const memberPhone = await prisma.memberPhone.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberPhones and returns the data updated in the database. + * @param {memberPhoneUpdateManyAndReturnArgs} args - Arguments to update many MemberPhones. + * @example + * // Update many MemberPhones + * const memberPhone = await prisma.memberPhone.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberPhones and only return the `id` + * const memberPhoneWithIdOnly = await prisma.memberPhone.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberPhone. + * @param {memberPhoneUpsertArgs} args - Arguments to update or create a MemberPhone. + * @example + * // Update or create a MemberPhone + * const memberPhone = await prisma.memberPhone.upsert({ + * create: { + * // ... data to create a MemberPhone + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberPhone we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberPhoneClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberPhones. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberPhoneCountArgs} args - Arguments to filter MemberPhones to count. + * @example + * // Count the number of MemberPhones + * const count = await prisma.memberPhone.count({ + * where: { + * // ... the filter for the MemberPhones we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberPhone. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberPhoneAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberPhone. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberPhoneGroupByArgs} 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 memberPhoneGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberPhoneGroupByArgs['orderBy'] } + : { orderBy?: memberPhoneGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberPhoneGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberPhone model + */ + readonly fields: memberPhoneFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberPhone. + * 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__memberPhoneClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + member = {}>(args?: Subset>): Prisma__memberClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberPhone model + */ + interface memberPhoneFieldRefs { + readonly id: FieldRef<"memberPhone", 'String'> + readonly userId: FieldRef<"memberPhone", 'BigInt'> + readonly type: FieldRef<"memberPhone", 'String'> + readonly number: FieldRef<"memberPhone", 'String'> + readonly createdAt: FieldRef<"memberPhone", 'DateTime'> + readonly createdBy: FieldRef<"memberPhone", 'String'> + readonly updatedAt: FieldRef<"memberPhone", 'DateTime'> + readonly updatedBy: FieldRef<"memberPhone", 'String'> + } + + + // Custom InputTypes + /** + * memberPhone findUnique + */ + export type memberPhoneFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + /** + * Filter, which memberPhone to fetch. + */ + where: memberPhoneWhereUniqueInput + } + + /** + * memberPhone findUniqueOrThrow + */ + export type memberPhoneFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + /** + * Filter, which memberPhone to fetch. + */ + where: memberPhoneWhereUniqueInput + } + + /** + * memberPhone findFirst + */ + export type memberPhoneFindFirstArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + /** + * Filter, which memberPhone to fetch. + */ + where?: memberPhoneWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberPhones to fetch. + */ + orderBy?: memberPhoneOrderByWithRelationInput | memberPhoneOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberPhones. + */ + cursor?: memberPhoneWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberPhones 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` memberPhones. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberPhones. + */ + distinct?: MemberPhoneScalarFieldEnum | MemberPhoneScalarFieldEnum[] + } + + /** + * memberPhone findFirstOrThrow + */ + export type memberPhoneFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + /** + * Filter, which memberPhone to fetch. + */ + where?: memberPhoneWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberPhones to fetch. + */ + orderBy?: memberPhoneOrderByWithRelationInput | memberPhoneOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberPhones. + */ + cursor?: memberPhoneWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberPhones 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` memberPhones. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberPhones. + */ + distinct?: MemberPhoneScalarFieldEnum | MemberPhoneScalarFieldEnum[] + } + + /** + * memberPhone findMany + */ + export type memberPhoneFindManyArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + /** + * Filter, which memberPhones to fetch. + */ + where?: memberPhoneWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberPhones to fetch. + */ + orderBy?: memberPhoneOrderByWithRelationInput | memberPhoneOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberPhones. + */ + cursor?: memberPhoneWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberPhones 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` memberPhones. + */ + skip?: number + distinct?: MemberPhoneScalarFieldEnum | MemberPhoneScalarFieldEnum[] + } + + /** + * memberPhone create + */ + export type memberPhoneCreateArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + /** + * The data needed to create a memberPhone. + */ + data: XOR + } + + /** + * memberPhone createMany + */ + export type memberPhoneCreateManyArgs = { + /** + * The data used to create many memberPhones. + */ + data: memberPhoneCreateManyInput | memberPhoneCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberPhone createManyAndReturn + */ + export type memberPhoneCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * The data used to create many memberPhones. + */ + data: memberPhoneCreateManyInput | memberPhoneCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneIncludeCreateManyAndReturn | null + } + + /** + * memberPhone update + */ + export type memberPhoneUpdateArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + /** + * The data needed to update a memberPhone. + */ + data: XOR + /** + * Choose, which memberPhone to update. + */ + where: memberPhoneWhereUniqueInput + } + + /** + * memberPhone updateMany + */ + export type memberPhoneUpdateManyArgs = { + /** + * The data used to update memberPhones. + */ + data: XOR + /** + * Filter which memberPhones to update + */ + where?: memberPhoneWhereInput + /** + * Limit how many memberPhones to update. + */ + limit?: number + } + + /** + * memberPhone updateManyAndReturn + */ + export type memberPhoneUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * The data used to update memberPhones. + */ + data: XOR + /** + * Filter which memberPhones to update + */ + where?: memberPhoneWhereInput + /** + * Limit how many memberPhones to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneIncludeUpdateManyAndReturn | null + } + + /** + * memberPhone upsert + */ + export type memberPhoneUpsertArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + /** + * The filter to search for the memberPhone to update in case it exists. + */ + where: memberPhoneWhereUniqueInput + /** + * In case the memberPhone found by the `where` argument doesn't exist, create a new memberPhone with this data. + */ + create: XOR + /** + * In case the memberPhone was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberPhone delete + */ + export type memberPhoneDeleteArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + /** + * Filter which memberPhone to delete. + */ + where: memberPhoneWhereUniqueInput + } + + /** + * memberPhone deleteMany + */ + export type memberPhoneDeleteManyArgs = { + /** + * Filter which memberPhones to delete + */ + where?: memberPhoneWhereInput + /** + * Limit how many memberPhones to delete. + */ + limit?: number + } + + /** + * memberPhone without action + */ + export type memberPhoneDefaultArgs = { + /** + * Select specific fields to fetch from the memberPhone + */ + select?: memberPhoneSelect | null + /** + * Omit specific fields from the memberPhone + */ + omit?: memberPhoneOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberPhoneInclude | null + } + + + /** + * Model memberMaxRating + */ + + export type AggregateMemberMaxRating = { + _count: MemberMaxRatingCountAggregateOutputType | null + _avg: MemberMaxRatingAvgAggregateOutputType | null + _sum: MemberMaxRatingSumAggregateOutputType | null + _min: MemberMaxRatingMinAggregateOutputType | null + _max: MemberMaxRatingMaxAggregateOutputType | null + } + + export type MemberMaxRatingAvgAggregateOutputType = { + id: number | null + userId: number | null + rating: number | null + } + + export type MemberMaxRatingSumAggregateOutputType = { + id: bigint | null + userId: bigint | null + rating: number | null + } + + export type MemberMaxRatingMinAggregateOutputType = { + id: bigint | null + userId: bigint | null + rating: number | null + track: string | null + subTrack: string | null + ratingColor: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberMaxRatingMaxAggregateOutputType = { + id: bigint | null + userId: bigint | null + rating: number | null + track: string | null + subTrack: string | null + ratingColor: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberMaxRatingCountAggregateOutputType = { + id: number + userId: number + rating: number + track: number + subTrack: number + ratingColor: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberMaxRatingAvgAggregateInputType = { + id?: true + userId?: true + rating?: true + } + + export type MemberMaxRatingSumAggregateInputType = { + id?: true + userId?: true + rating?: true + } + + export type MemberMaxRatingMinAggregateInputType = { + id?: true + userId?: true + rating?: true + track?: true + subTrack?: true + ratingColor?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberMaxRatingMaxAggregateInputType = { + id?: true + userId?: true + rating?: true + track?: true + subTrack?: true + ratingColor?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberMaxRatingCountAggregateInputType = { + id?: true + userId?: true + rating?: true + track?: true + subTrack?: true + ratingColor?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberMaxRatingAggregateArgs = { + /** + * Filter which memberMaxRating to aggregate. + */ + where?: memberMaxRatingWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberMaxRatings to fetch. + */ + orderBy?: memberMaxRatingOrderByWithRelationInput | memberMaxRatingOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberMaxRatingWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberMaxRatings 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` memberMaxRatings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberMaxRatings + **/ + _count?: true | MemberMaxRatingCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberMaxRatingAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberMaxRatingSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberMaxRatingMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberMaxRatingMaxAggregateInputType + } + + export type GetMemberMaxRatingAggregateType = { + [P in keyof T & keyof AggregateMemberMaxRating]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberMaxRatingGroupByArgs = { + where?: memberMaxRatingWhereInput + orderBy?: memberMaxRatingOrderByWithAggregationInput | memberMaxRatingOrderByWithAggregationInput[] + by: MemberMaxRatingScalarFieldEnum[] | MemberMaxRatingScalarFieldEnum + having?: memberMaxRatingScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberMaxRatingCountAggregateInputType | true + _avg?: MemberMaxRatingAvgAggregateInputType + _sum?: MemberMaxRatingSumAggregateInputType + _min?: MemberMaxRatingMinAggregateInputType + _max?: MemberMaxRatingMaxAggregateInputType + } + + export type MemberMaxRatingGroupByOutputType = { + id: bigint + userId: bigint + rating: number + track: string | null + subTrack: string | null + ratingColor: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberMaxRatingCountAggregateOutputType | null + _avg: MemberMaxRatingAvgAggregateOutputType | null + _sum: MemberMaxRatingSumAggregateOutputType | null + _min: MemberMaxRatingMinAggregateOutputType | null + _max: MemberMaxRatingMaxAggregateOutputType | null + } + + type GetMemberMaxRatingGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberMaxRatingGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberMaxRatingSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + rating?: boolean + track?: boolean + subTrack?: boolean + ratingColor?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberMaxRating"]> + + export type memberMaxRatingSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + rating?: boolean + track?: boolean + subTrack?: boolean + ratingColor?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberMaxRating"]> + + export type memberMaxRatingSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + rating?: boolean + track?: boolean + subTrack?: boolean + ratingColor?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberMaxRating"]> + + export type memberMaxRatingSelectScalar = { + id?: boolean + userId?: boolean + rating?: boolean + track?: boolean + subTrack?: boolean + ratingColor?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberMaxRatingOmit = $Extensions.GetOmit<"id" | "userId" | "rating" | "track" | "subTrack" | "ratingColor" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberMaxRating"]> + export type memberMaxRatingInclude = { + member?: boolean | memberDefaultArgs + } + export type memberMaxRatingIncludeCreateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + export type memberMaxRatingIncludeUpdateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + + export type $memberMaxRatingPayload = { + name: "memberMaxRating" + objects: { + member: Prisma.$memberPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + userId: bigint + rating: number + track: string | null + subTrack: string | null + ratingColor: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberMaxRating"]> + composites: {} + } + + type memberMaxRatingGetPayload = $Result.GetResult + + type memberMaxRatingCountArgs = + Omit & { + select?: MemberMaxRatingCountAggregateInputType | true + } + + export interface memberMaxRatingDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberMaxRating'], meta: { name: 'memberMaxRating' } } + /** + * Find zero or one MemberMaxRating that matches the filter. + * @param {memberMaxRatingFindUniqueArgs} args - Arguments to find a MemberMaxRating + * @example + * // Get one MemberMaxRating + * const memberMaxRating = await prisma.memberMaxRating.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberMaxRatingClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberMaxRating that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberMaxRatingFindUniqueOrThrowArgs} args - Arguments to find a MemberMaxRating + * @example + * // Get one MemberMaxRating + * const memberMaxRating = await prisma.memberMaxRating.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberMaxRatingClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberMaxRating 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 {memberMaxRatingFindFirstArgs} args - Arguments to find a MemberMaxRating + * @example + * // Get one MemberMaxRating + * const memberMaxRating = await prisma.memberMaxRating.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberMaxRatingClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberMaxRating 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 {memberMaxRatingFindFirstOrThrowArgs} args - Arguments to find a MemberMaxRating + * @example + * // Get one MemberMaxRating + * const memberMaxRating = await prisma.memberMaxRating.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberMaxRatingClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberMaxRatings 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 {memberMaxRatingFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberMaxRatings + * const memberMaxRatings = await prisma.memberMaxRating.findMany() + * + * // Get first 10 MemberMaxRatings + * const memberMaxRatings = await prisma.memberMaxRating.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberMaxRatingWithIdOnly = await prisma.memberMaxRating.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberMaxRating. + * @param {memberMaxRatingCreateArgs} args - Arguments to create a MemberMaxRating. + * @example + * // Create one MemberMaxRating + * const MemberMaxRating = await prisma.memberMaxRating.create({ + * data: { + * // ... data to create a MemberMaxRating + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberMaxRatingClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberMaxRatings. + * @param {memberMaxRatingCreateManyArgs} args - Arguments to create many MemberMaxRatings. + * @example + * // Create many MemberMaxRatings + * const memberMaxRating = await prisma.memberMaxRating.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberMaxRatings and returns the data saved in the database. + * @param {memberMaxRatingCreateManyAndReturnArgs} args - Arguments to create many MemberMaxRatings. + * @example + * // Create many MemberMaxRatings + * const memberMaxRating = await prisma.memberMaxRating.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberMaxRatings and only return the `id` + * const memberMaxRatingWithIdOnly = await prisma.memberMaxRating.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberMaxRating. + * @param {memberMaxRatingDeleteArgs} args - Arguments to delete one MemberMaxRating. + * @example + * // Delete one MemberMaxRating + * const MemberMaxRating = await prisma.memberMaxRating.delete({ + * where: { + * // ... filter to delete one MemberMaxRating + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberMaxRatingClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberMaxRating. + * @param {memberMaxRatingUpdateArgs} args - Arguments to update one MemberMaxRating. + * @example + * // Update one MemberMaxRating + * const memberMaxRating = await prisma.memberMaxRating.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberMaxRatingClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberMaxRatings. + * @param {memberMaxRatingDeleteManyArgs} args - Arguments to filter MemberMaxRatings to delete. + * @example + * // Delete a few MemberMaxRatings + * const { count } = await prisma.memberMaxRating.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberMaxRatings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberMaxRatingUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberMaxRatings + * const memberMaxRating = await prisma.memberMaxRating.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberMaxRatings and returns the data updated in the database. + * @param {memberMaxRatingUpdateManyAndReturnArgs} args - Arguments to update many MemberMaxRatings. + * @example + * // Update many MemberMaxRatings + * const memberMaxRating = await prisma.memberMaxRating.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberMaxRatings and only return the `id` + * const memberMaxRatingWithIdOnly = await prisma.memberMaxRating.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberMaxRating. + * @param {memberMaxRatingUpsertArgs} args - Arguments to update or create a MemberMaxRating. + * @example + * // Update or create a MemberMaxRating + * const memberMaxRating = await prisma.memberMaxRating.upsert({ + * create: { + * // ... data to create a MemberMaxRating + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberMaxRating we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberMaxRatingClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberMaxRatings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberMaxRatingCountArgs} args - Arguments to filter MemberMaxRatings to count. + * @example + * // Count the number of MemberMaxRatings + * const count = await prisma.memberMaxRating.count({ + * where: { + * // ... the filter for the MemberMaxRatings we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberMaxRating. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberMaxRatingAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberMaxRating. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberMaxRatingGroupByArgs} 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 memberMaxRatingGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberMaxRatingGroupByArgs['orderBy'] } + : { orderBy?: memberMaxRatingGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberMaxRatingGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberMaxRating model + */ + readonly fields: memberMaxRatingFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberMaxRating. + * 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__memberMaxRatingClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + member = {}>(args?: Subset>): Prisma__memberClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberMaxRating model + */ + interface memberMaxRatingFieldRefs { + readonly id: FieldRef<"memberMaxRating", 'BigInt'> + readonly userId: FieldRef<"memberMaxRating", 'BigInt'> + readonly rating: FieldRef<"memberMaxRating", 'Int'> + readonly track: FieldRef<"memberMaxRating", 'String'> + readonly subTrack: FieldRef<"memberMaxRating", 'String'> + readonly ratingColor: FieldRef<"memberMaxRating", 'String'> + readonly createdAt: FieldRef<"memberMaxRating", 'DateTime'> + readonly createdBy: FieldRef<"memberMaxRating", 'String'> + readonly updatedAt: FieldRef<"memberMaxRating", 'DateTime'> + readonly updatedBy: FieldRef<"memberMaxRating", 'String'> + } + + + // Custom InputTypes + /** + * memberMaxRating findUnique + */ + export type memberMaxRatingFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + /** + * Filter, which memberMaxRating to fetch. + */ + where: memberMaxRatingWhereUniqueInput + } + + /** + * memberMaxRating findUniqueOrThrow + */ + export type memberMaxRatingFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + /** + * Filter, which memberMaxRating to fetch. + */ + where: memberMaxRatingWhereUniqueInput + } + + /** + * memberMaxRating findFirst + */ + export type memberMaxRatingFindFirstArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + /** + * Filter, which memberMaxRating to fetch. + */ + where?: memberMaxRatingWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberMaxRatings to fetch. + */ + orderBy?: memberMaxRatingOrderByWithRelationInput | memberMaxRatingOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberMaxRatings. + */ + cursor?: memberMaxRatingWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberMaxRatings 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` memberMaxRatings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberMaxRatings. + */ + distinct?: MemberMaxRatingScalarFieldEnum | MemberMaxRatingScalarFieldEnum[] + } + + /** + * memberMaxRating findFirstOrThrow + */ + export type memberMaxRatingFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + /** + * Filter, which memberMaxRating to fetch. + */ + where?: memberMaxRatingWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberMaxRatings to fetch. + */ + orderBy?: memberMaxRatingOrderByWithRelationInput | memberMaxRatingOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberMaxRatings. + */ + cursor?: memberMaxRatingWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberMaxRatings 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` memberMaxRatings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberMaxRatings. + */ + distinct?: MemberMaxRatingScalarFieldEnum | MemberMaxRatingScalarFieldEnum[] + } + + /** + * memberMaxRating findMany + */ + export type memberMaxRatingFindManyArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + /** + * Filter, which memberMaxRatings to fetch. + */ + where?: memberMaxRatingWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberMaxRatings to fetch. + */ + orderBy?: memberMaxRatingOrderByWithRelationInput | memberMaxRatingOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberMaxRatings. + */ + cursor?: memberMaxRatingWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberMaxRatings 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` memberMaxRatings. + */ + skip?: number + distinct?: MemberMaxRatingScalarFieldEnum | MemberMaxRatingScalarFieldEnum[] + } + + /** + * memberMaxRating create + */ + export type memberMaxRatingCreateArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + /** + * The data needed to create a memberMaxRating. + */ + data: XOR + } + + /** + * memberMaxRating createMany + */ + export type memberMaxRatingCreateManyArgs = { + /** + * The data used to create many memberMaxRatings. + */ + data: memberMaxRatingCreateManyInput | memberMaxRatingCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberMaxRating createManyAndReturn + */ + export type memberMaxRatingCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * The data used to create many memberMaxRatings. + */ + data: memberMaxRatingCreateManyInput | memberMaxRatingCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingIncludeCreateManyAndReturn | null + } + + /** + * memberMaxRating update + */ + export type memberMaxRatingUpdateArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + /** + * The data needed to update a memberMaxRating. + */ + data: XOR + /** + * Choose, which memberMaxRating to update. + */ + where: memberMaxRatingWhereUniqueInput + } + + /** + * memberMaxRating updateMany + */ + export type memberMaxRatingUpdateManyArgs = { + /** + * The data used to update memberMaxRatings. + */ + data: XOR + /** + * Filter which memberMaxRatings to update + */ + where?: memberMaxRatingWhereInput + /** + * Limit how many memberMaxRatings to update. + */ + limit?: number + } + + /** + * memberMaxRating updateManyAndReturn + */ + export type memberMaxRatingUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * The data used to update memberMaxRatings. + */ + data: XOR + /** + * Filter which memberMaxRatings to update + */ + where?: memberMaxRatingWhereInput + /** + * Limit how many memberMaxRatings to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingIncludeUpdateManyAndReturn | null + } + + /** + * memberMaxRating upsert + */ + export type memberMaxRatingUpsertArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + /** + * The filter to search for the memberMaxRating to update in case it exists. + */ + where: memberMaxRatingWhereUniqueInput + /** + * In case the memberMaxRating found by the `where` argument doesn't exist, create a new memberMaxRating with this data. + */ + create: XOR + /** + * In case the memberMaxRating was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberMaxRating delete + */ + export type memberMaxRatingDeleteArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + /** + * Filter which memberMaxRating to delete. + */ + where: memberMaxRatingWhereUniqueInput + } + + /** + * memberMaxRating deleteMany + */ + export type memberMaxRatingDeleteManyArgs = { + /** + * Filter which memberMaxRatings to delete + */ + where?: memberMaxRatingWhereInput + /** + * Limit how many memberMaxRatings to delete. + */ + limit?: number + } + + /** + * memberMaxRating without action + */ + export type memberMaxRatingDefaultArgs = { + /** + * Select specific fields to fetch from the memberMaxRating + */ + select?: memberMaxRatingSelect | null + /** + * Omit specific fields from the memberMaxRating + */ + omit?: memberMaxRatingOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberMaxRatingInclude | null + } + + + /** + * Model memberFinancial + */ + + export type AggregateMemberFinancial = { + _count: MemberFinancialCountAggregateOutputType | null + _avg: MemberFinancialAvgAggregateOutputType | null + _sum: MemberFinancialSumAggregateOutputType | null + _min: MemberFinancialMinAggregateOutputType | null + _max: MemberFinancialMaxAggregateOutputType | null + } + + export type MemberFinancialAvgAggregateOutputType = { + userId: number | null + amount: number | null + } + + export type MemberFinancialSumAggregateOutputType = { + userId: bigint | null + amount: number | null + } + + export type MemberFinancialMinAggregateOutputType = { + userId: bigint | null + amount: number | null + status: $Enums.FinancialStatus | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberFinancialMaxAggregateOutputType = { + userId: bigint | null + amount: number | null + status: $Enums.FinancialStatus | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberFinancialCountAggregateOutputType = { + userId: number + amount: number + status: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberFinancialAvgAggregateInputType = { + userId?: true + amount?: true + } + + export type MemberFinancialSumAggregateInputType = { + userId?: true + amount?: true + } + + export type MemberFinancialMinAggregateInputType = { + userId?: true + amount?: true + status?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberFinancialMaxAggregateInputType = { + userId?: true + amount?: true + status?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberFinancialCountAggregateInputType = { + userId?: true + amount?: true + status?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberFinancialAggregateArgs = { + /** + * Filter which memberFinancial to aggregate. + */ + where?: memberFinancialWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberFinancials to fetch. + */ + orderBy?: memberFinancialOrderByWithRelationInput | memberFinancialOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberFinancialWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberFinancials 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` memberFinancials. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberFinancials + **/ + _count?: true | MemberFinancialCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberFinancialAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberFinancialSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberFinancialMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberFinancialMaxAggregateInputType + } + + export type GetMemberFinancialAggregateType = { + [P in keyof T & keyof AggregateMemberFinancial]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberFinancialGroupByArgs = { + where?: memberFinancialWhereInput + orderBy?: memberFinancialOrderByWithAggregationInput | memberFinancialOrderByWithAggregationInput[] + by: MemberFinancialScalarFieldEnum[] | MemberFinancialScalarFieldEnum + having?: memberFinancialScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberFinancialCountAggregateInputType | true + _avg?: MemberFinancialAvgAggregateInputType + _sum?: MemberFinancialSumAggregateInputType + _min?: MemberFinancialMinAggregateInputType + _max?: MemberFinancialMaxAggregateInputType + } + + export type MemberFinancialGroupByOutputType = { + userId: bigint + amount: number + status: $Enums.FinancialStatus + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberFinancialCountAggregateOutputType | null + _avg: MemberFinancialAvgAggregateOutputType | null + _sum: MemberFinancialSumAggregateOutputType | null + _min: MemberFinancialMinAggregateOutputType | null + _max: MemberFinancialMaxAggregateOutputType | null + } + + type GetMemberFinancialGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberFinancialGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberFinancialSelect = $Extensions.GetSelect<{ + userId?: boolean + amount?: boolean + status?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberFinancial"]> + + export type memberFinancialSelectCreateManyAndReturn = $Extensions.GetSelect<{ + userId?: boolean + amount?: boolean + status?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberFinancial"]> + + export type memberFinancialSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + userId?: boolean + amount?: boolean + status?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberFinancial"]> + + export type memberFinancialSelectScalar = { + userId?: boolean + amount?: boolean + status?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberFinancialOmit = $Extensions.GetOmit<"userId" | "amount" | "status" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberFinancial"]> + export type memberFinancialInclude = { + member?: boolean | memberDefaultArgs + } + export type memberFinancialIncludeCreateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + export type memberFinancialIncludeUpdateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + + export type $memberFinancialPayload = { + name: "memberFinancial" + objects: { + member: Prisma.$memberPayload + } + scalars: $Extensions.GetPayloadResult<{ + userId: bigint + amount: number + status: $Enums.FinancialStatus + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberFinancial"]> + composites: {} + } + + type memberFinancialGetPayload = $Result.GetResult + + type memberFinancialCountArgs = + Omit & { + select?: MemberFinancialCountAggregateInputType | true + } + + export interface memberFinancialDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberFinancial'], meta: { name: 'memberFinancial' } } + /** + * Find zero or one MemberFinancial that matches the filter. + * @param {memberFinancialFindUniqueArgs} args - Arguments to find a MemberFinancial + * @example + * // Get one MemberFinancial + * const memberFinancial = await prisma.memberFinancial.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberFinancialClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberFinancial that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberFinancialFindUniqueOrThrowArgs} args - Arguments to find a MemberFinancial + * @example + * // Get one MemberFinancial + * const memberFinancial = await prisma.memberFinancial.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberFinancialClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberFinancial 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 {memberFinancialFindFirstArgs} args - Arguments to find a MemberFinancial + * @example + * // Get one MemberFinancial + * const memberFinancial = await prisma.memberFinancial.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberFinancialClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberFinancial 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 {memberFinancialFindFirstOrThrowArgs} args - Arguments to find a MemberFinancial + * @example + * // Get one MemberFinancial + * const memberFinancial = await prisma.memberFinancial.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberFinancialClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberFinancials 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 {memberFinancialFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberFinancials + * const memberFinancials = await prisma.memberFinancial.findMany() + * + * // Get first 10 MemberFinancials + * const memberFinancials = await prisma.memberFinancial.findMany({ take: 10 }) + * + * // Only select the `userId` + * const memberFinancialWithUserIdOnly = await prisma.memberFinancial.findMany({ select: { userId: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberFinancial. + * @param {memberFinancialCreateArgs} args - Arguments to create a MemberFinancial. + * @example + * // Create one MemberFinancial + * const MemberFinancial = await prisma.memberFinancial.create({ + * data: { + * // ... data to create a MemberFinancial + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberFinancialClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberFinancials. + * @param {memberFinancialCreateManyArgs} args - Arguments to create many MemberFinancials. + * @example + * // Create many MemberFinancials + * const memberFinancial = await prisma.memberFinancial.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberFinancials and returns the data saved in the database. + * @param {memberFinancialCreateManyAndReturnArgs} args - Arguments to create many MemberFinancials. + * @example + * // Create many MemberFinancials + * const memberFinancial = await prisma.memberFinancial.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberFinancials and only return the `userId` + * const memberFinancialWithUserIdOnly = await prisma.memberFinancial.createManyAndReturn({ + * select: { userId: 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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberFinancial. + * @param {memberFinancialDeleteArgs} args - Arguments to delete one MemberFinancial. + * @example + * // Delete one MemberFinancial + * const MemberFinancial = await prisma.memberFinancial.delete({ + * where: { + * // ... filter to delete one MemberFinancial + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberFinancialClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberFinancial. + * @param {memberFinancialUpdateArgs} args - Arguments to update one MemberFinancial. + * @example + * // Update one MemberFinancial + * const memberFinancial = await prisma.memberFinancial.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberFinancialClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberFinancials. + * @param {memberFinancialDeleteManyArgs} args - Arguments to filter MemberFinancials to delete. + * @example + * // Delete a few MemberFinancials + * const { count } = await prisma.memberFinancial.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberFinancials. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberFinancialUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberFinancials + * const memberFinancial = await prisma.memberFinancial.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberFinancials and returns the data updated in the database. + * @param {memberFinancialUpdateManyAndReturnArgs} args - Arguments to update many MemberFinancials. + * @example + * // Update many MemberFinancials + * const memberFinancial = await prisma.memberFinancial.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberFinancials and only return the `userId` + * const memberFinancialWithUserIdOnly = await prisma.memberFinancial.updateManyAndReturn({ + * select: { userId: 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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberFinancial. + * @param {memberFinancialUpsertArgs} args - Arguments to update or create a MemberFinancial. + * @example + * // Update or create a MemberFinancial + * const memberFinancial = await prisma.memberFinancial.upsert({ + * create: { + * // ... data to create a MemberFinancial + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberFinancial we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberFinancialClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberFinancials. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberFinancialCountArgs} args - Arguments to filter MemberFinancials to count. + * @example + * // Count the number of MemberFinancials + * const count = await prisma.memberFinancial.count({ + * where: { + * // ... the filter for the MemberFinancials we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberFinancial. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberFinancialAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberFinancial. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberFinancialGroupByArgs} 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 memberFinancialGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberFinancialGroupByArgs['orderBy'] } + : { orderBy?: memberFinancialGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberFinancialGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberFinancial model + */ + readonly fields: memberFinancialFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberFinancial. + * 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__memberFinancialClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + member = {}>(args?: Subset>): Prisma__memberClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberFinancial model + */ + interface memberFinancialFieldRefs { + readonly userId: FieldRef<"memberFinancial", 'BigInt'> + readonly amount: FieldRef<"memberFinancial", 'Float'> + readonly status: FieldRef<"memberFinancial", 'FinancialStatus'> + readonly createdAt: FieldRef<"memberFinancial", 'DateTime'> + readonly createdBy: FieldRef<"memberFinancial", 'String'> + readonly updatedAt: FieldRef<"memberFinancial", 'DateTime'> + readonly updatedBy: FieldRef<"memberFinancial", 'String'> + } + + + // Custom InputTypes + /** + * memberFinancial findUnique + */ + export type memberFinancialFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + /** + * Filter, which memberFinancial to fetch. + */ + where: memberFinancialWhereUniqueInput + } + + /** + * memberFinancial findUniqueOrThrow + */ + export type memberFinancialFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + /** + * Filter, which memberFinancial to fetch. + */ + where: memberFinancialWhereUniqueInput + } + + /** + * memberFinancial findFirst + */ + export type memberFinancialFindFirstArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + /** + * Filter, which memberFinancial to fetch. + */ + where?: memberFinancialWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberFinancials to fetch. + */ + orderBy?: memberFinancialOrderByWithRelationInput | memberFinancialOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberFinancials. + */ + cursor?: memberFinancialWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberFinancials 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` memberFinancials. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberFinancials. + */ + distinct?: MemberFinancialScalarFieldEnum | MemberFinancialScalarFieldEnum[] + } + + /** + * memberFinancial findFirstOrThrow + */ + export type memberFinancialFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + /** + * Filter, which memberFinancial to fetch. + */ + where?: memberFinancialWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberFinancials to fetch. + */ + orderBy?: memberFinancialOrderByWithRelationInput | memberFinancialOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberFinancials. + */ + cursor?: memberFinancialWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberFinancials 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` memberFinancials. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberFinancials. + */ + distinct?: MemberFinancialScalarFieldEnum | MemberFinancialScalarFieldEnum[] + } + + /** + * memberFinancial findMany + */ + export type memberFinancialFindManyArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + /** + * Filter, which memberFinancials to fetch. + */ + where?: memberFinancialWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberFinancials to fetch. + */ + orderBy?: memberFinancialOrderByWithRelationInput | memberFinancialOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberFinancials. + */ + cursor?: memberFinancialWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberFinancials 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` memberFinancials. + */ + skip?: number + distinct?: MemberFinancialScalarFieldEnum | MemberFinancialScalarFieldEnum[] + } + + /** + * memberFinancial create + */ + export type memberFinancialCreateArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + /** + * The data needed to create a memberFinancial. + */ + data: XOR + } + + /** + * memberFinancial createMany + */ + export type memberFinancialCreateManyArgs = { + /** + * The data used to create many memberFinancials. + */ + data: memberFinancialCreateManyInput | memberFinancialCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberFinancial createManyAndReturn + */ + export type memberFinancialCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * The data used to create many memberFinancials. + */ + data: memberFinancialCreateManyInput | memberFinancialCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialIncludeCreateManyAndReturn | null + } + + /** + * memberFinancial update + */ + export type memberFinancialUpdateArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + /** + * The data needed to update a memberFinancial. + */ + data: XOR + /** + * Choose, which memberFinancial to update. + */ + where: memberFinancialWhereUniqueInput + } + + /** + * memberFinancial updateMany + */ + export type memberFinancialUpdateManyArgs = { + /** + * The data used to update memberFinancials. + */ + data: XOR + /** + * Filter which memberFinancials to update + */ + where?: memberFinancialWhereInput + /** + * Limit how many memberFinancials to update. + */ + limit?: number + } + + /** + * memberFinancial updateManyAndReturn + */ + export type memberFinancialUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * The data used to update memberFinancials. + */ + data: XOR + /** + * Filter which memberFinancials to update + */ + where?: memberFinancialWhereInput + /** + * Limit how many memberFinancials to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialIncludeUpdateManyAndReturn | null + } + + /** + * memberFinancial upsert + */ + export type memberFinancialUpsertArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + /** + * The filter to search for the memberFinancial to update in case it exists. + */ + where: memberFinancialWhereUniqueInput + /** + * In case the memberFinancial found by the `where` argument doesn't exist, create a new memberFinancial with this data. + */ + create: XOR + /** + * In case the memberFinancial was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberFinancial delete + */ + export type memberFinancialDeleteArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + /** + * Filter which memberFinancial to delete. + */ + where: memberFinancialWhereUniqueInput + } + + /** + * memberFinancial deleteMany + */ + export type memberFinancialDeleteManyArgs = { + /** + * Filter which memberFinancials to delete + */ + where?: memberFinancialWhereInput + /** + * Limit how many memberFinancials to delete. + */ + limit?: number + } + + /** + * memberFinancial without action + */ + export type memberFinancialDefaultArgs = { + /** + * Select specific fields to fetch from the memberFinancial + */ + select?: memberFinancialSelect | null + /** + * Omit specific fields from the memberFinancial + */ + omit?: memberFinancialOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberFinancialInclude | null + } + + + /** + * Model memberStatsHistory + */ + + export type AggregateMemberStatsHistory = { + _count: MemberStatsHistoryCountAggregateOutputType | null + _avg: MemberStatsHistoryAvgAggregateOutputType | null + _sum: MemberStatsHistorySumAggregateOutputType | null + _min: MemberStatsHistoryMinAggregateOutputType | null + _max: MemberStatsHistoryMaxAggregateOutputType | null + } + + export type MemberStatsHistoryAvgAggregateOutputType = { + id: number | null + userId: number | null + oldRating: number | null + newRating: number | null + placement: number | null + percentile: number | null + oldVolatility: number | null + newVolatility: number | null + oldGlobalRank: number | null + newGlobalRank: number | null + oldCountryRank: number | null + newCountryRank: number | null + oldSchoolRank: number | null + newSchoolRank: number | null + } + + export type MemberStatsHistorySumAggregateOutputType = { + id: bigint | null + userId: bigint | null + oldRating: number | null + newRating: number | null + placement: number | null + percentile: number | null + oldVolatility: number | null + newVolatility: number | null + oldGlobalRank: number | null + newGlobalRank: number | null + oldCountryRank: number | null + newCountryRank: number | null + oldSchoolRank: number | null + newSchoolRank: number | null + } + + export type MemberStatsHistoryMinAggregateOutputType = { + id: bigint | null + userId: bigint | null + trackId: string | null + typeId: string | null + challengeId: string | null + mostRecent: boolean | null + oldRating: number | null + newRating: number | null + placement: number | null + percentile: number | null + oldVolatility: number | null + newVolatility: number | null + oldGlobalRank: number | null + newGlobalRank: number | null + oldCountryRank: number | null + newCountryRank: number | null + oldSchoolRank: number | null + newSchoolRank: number | null + eventDate: Date | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberStatsHistoryMaxAggregateOutputType = { + id: bigint | null + userId: bigint | null + trackId: string | null + typeId: string | null + challengeId: string | null + mostRecent: boolean | null + oldRating: number | null + newRating: number | null + placement: number | null + percentile: number | null + oldVolatility: number | null + newVolatility: number | null + oldGlobalRank: number | null + newGlobalRank: number | null + oldCountryRank: number | null + newCountryRank: number | null + oldSchoolRank: number | null + newSchoolRank: number | null + eventDate: Date | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberStatsHistoryCountAggregateOutputType = { + id: number + userId: number + trackId: number + typeId: number + challengeId: number + mostRecent: number + oldRating: number + newRating: number + placement: number + percentile: number + oldVolatility: number + newVolatility: number + oldGlobalRank: number + newGlobalRank: number + oldCountryRank: number + newCountryRank: number + oldSchoolRank: number + newSchoolRank: number + eventDate: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberStatsHistoryAvgAggregateInputType = { + id?: true + userId?: true + oldRating?: true + newRating?: true + placement?: true + percentile?: true + oldVolatility?: true + newVolatility?: true + oldGlobalRank?: true + newGlobalRank?: true + oldCountryRank?: true + newCountryRank?: true + oldSchoolRank?: true + newSchoolRank?: true + } + + export type MemberStatsHistorySumAggregateInputType = { + id?: true + userId?: true + oldRating?: true + newRating?: true + placement?: true + percentile?: true + oldVolatility?: true + newVolatility?: true + oldGlobalRank?: true + newGlobalRank?: true + oldCountryRank?: true + newCountryRank?: true + oldSchoolRank?: true + newSchoolRank?: true + } + + export type MemberStatsHistoryMinAggregateInputType = { + id?: true + userId?: true + trackId?: true + typeId?: true + challengeId?: true + mostRecent?: true + oldRating?: true + newRating?: true + placement?: true + percentile?: true + oldVolatility?: true + newVolatility?: true + oldGlobalRank?: true + newGlobalRank?: true + oldCountryRank?: true + newCountryRank?: true + oldSchoolRank?: true + newSchoolRank?: true + eventDate?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberStatsHistoryMaxAggregateInputType = { + id?: true + userId?: true + trackId?: true + typeId?: true + challengeId?: true + mostRecent?: true + oldRating?: true + newRating?: true + placement?: true + percentile?: true + oldVolatility?: true + newVolatility?: true + oldGlobalRank?: true + newGlobalRank?: true + oldCountryRank?: true + newCountryRank?: true + oldSchoolRank?: true + newSchoolRank?: true + eventDate?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberStatsHistoryCountAggregateInputType = { + id?: true + userId?: true + trackId?: true + typeId?: true + challengeId?: true + mostRecent?: true + oldRating?: true + newRating?: true + placement?: true + percentile?: true + oldVolatility?: true + newVolatility?: true + oldGlobalRank?: true + newGlobalRank?: true + oldCountryRank?: true + newCountryRank?: true + oldSchoolRank?: true + newSchoolRank?: true + eventDate?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberStatsHistoryAggregateArgs = { + /** + * Filter which memberStatsHistory to aggregate. + */ + where?: memberStatsHistoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberStatsHistories to fetch. + */ + orderBy?: memberStatsHistoryOrderByWithRelationInput | memberStatsHistoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberStatsHistoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberStatsHistories 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` memberStatsHistories. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberStatsHistories + **/ + _count?: true | MemberStatsHistoryCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberStatsHistoryAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberStatsHistorySumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberStatsHistoryMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberStatsHistoryMaxAggregateInputType + } + + export type GetMemberStatsHistoryAggregateType = { + [P in keyof T & keyof AggregateMemberStatsHistory]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberStatsHistoryGroupByArgs = { + where?: memberStatsHistoryWhereInput + orderBy?: memberStatsHistoryOrderByWithAggregationInput | memberStatsHistoryOrderByWithAggregationInput[] + by: MemberStatsHistoryScalarFieldEnum[] | MemberStatsHistoryScalarFieldEnum + having?: memberStatsHistoryScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberStatsHistoryCountAggregateInputType | true + _avg?: MemberStatsHistoryAvgAggregateInputType + _sum?: MemberStatsHistorySumAggregateInputType + _min?: MemberStatsHistoryMinAggregateInputType + _max?: MemberStatsHistoryMaxAggregateInputType + } + + export type MemberStatsHistoryGroupByOutputType = { + id: bigint + userId: bigint + trackId: string + typeId: string + challengeId: string + mostRecent: boolean + oldRating: number | null + newRating: number | null + placement: number | null + percentile: number | null + oldVolatility: number | null + newVolatility: number | null + oldGlobalRank: number | null + newGlobalRank: number | null + oldCountryRank: number | null + newCountryRank: number | null + oldSchoolRank: number | null + newSchoolRank: number | null + eventDate: Date + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberStatsHistoryCountAggregateOutputType | null + _avg: MemberStatsHistoryAvgAggregateOutputType | null + _sum: MemberStatsHistorySumAggregateOutputType | null + _min: MemberStatsHistoryMinAggregateOutputType | null + _max: MemberStatsHistoryMaxAggregateOutputType | null + } + + type GetMemberStatsHistoryGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberStatsHistoryGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberStatsHistorySelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + trackId?: boolean + typeId?: boolean + challengeId?: boolean + mostRecent?: boolean + oldRating?: boolean + newRating?: boolean + placement?: boolean + percentile?: boolean + oldVolatility?: boolean + newVolatility?: boolean + oldGlobalRank?: boolean + newGlobalRank?: boolean + oldCountryRank?: boolean + newCountryRank?: boolean + oldSchoolRank?: boolean + newSchoolRank?: boolean + eventDate?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberStatsHistory"]> + + export type memberStatsHistorySelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + trackId?: boolean + typeId?: boolean + challengeId?: boolean + mostRecent?: boolean + oldRating?: boolean + newRating?: boolean + placement?: boolean + percentile?: boolean + oldVolatility?: boolean + newVolatility?: boolean + oldGlobalRank?: boolean + newGlobalRank?: boolean + oldCountryRank?: boolean + newCountryRank?: boolean + oldSchoolRank?: boolean + newSchoolRank?: boolean + eventDate?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberStatsHistory"]> + + export type memberStatsHistorySelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + trackId?: boolean + typeId?: boolean + challengeId?: boolean + mostRecent?: boolean + oldRating?: boolean + newRating?: boolean + placement?: boolean + percentile?: boolean + oldVolatility?: boolean + newVolatility?: boolean + oldGlobalRank?: boolean + newGlobalRank?: boolean + oldCountryRank?: boolean + newCountryRank?: boolean + oldSchoolRank?: boolean + newSchoolRank?: boolean + eventDate?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberStatsHistory"]> + + export type memberStatsHistorySelectScalar = { + id?: boolean + userId?: boolean + trackId?: boolean + typeId?: boolean + challengeId?: boolean + mostRecent?: boolean + oldRating?: boolean + newRating?: boolean + placement?: boolean + percentile?: boolean + oldVolatility?: boolean + newVolatility?: boolean + oldGlobalRank?: boolean + newGlobalRank?: boolean + oldCountryRank?: boolean + newCountryRank?: boolean + oldSchoolRank?: boolean + newSchoolRank?: boolean + eventDate?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberStatsHistoryOmit = $Extensions.GetOmit<"id" | "userId" | "trackId" | "typeId" | "challengeId" | "mostRecent" | "oldRating" | "newRating" | "placement" | "percentile" | "oldVolatility" | "newVolatility" | "oldGlobalRank" | "newGlobalRank" | "oldCountryRank" | "newCountryRank" | "oldSchoolRank" | "newSchoolRank" | "eventDate" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberStatsHistory"]> + export type memberStatsHistoryInclude = { + member?: boolean | memberDefaultArgs + } + export type memberStatsHistoryIncludeCreateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + export type memberStatsHistoryIncludeUpdateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + + export type $memberStatsHistoryPayload = { + name: "memberStatsHistory" + objects: { + member: Prisma.$memberPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + userId: bigint + trackId: string + typeId: string + challengeId: string + mostRecent: boolean + oldRating: number | null + newRating: number | null + placement: number | null + percentile: number | null + oldVolatility: number | null + newVolatility: number | null + oldGlobalRank: number | null + newGlobalRank: number | null + oldCountryRank: number | null + newCountryRank: number | null + oldSchoolRank: number | null + newSchoolRank: number | null + eventDate: Date + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberStatsHistory"]> + composites: {} + } + + type memberStatsHistoryGetPayload = $Result.GetResult + + type memberStatsHistoryCountArgs = + Omit & { + select?: MemberStatsHistoryCountAggregateInputType | true + } + + export interface memberStatsHistoryDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberStatsHistory'], meta: { name: 'memberStatsHistory' } } + /** + * Find zero or one MemberStatsHistory that matches the filter. + * @param {memberStatsHistoryFindUniqueArgs} args - Arguments to find a MemberStatsHistory + * @example + * // Get one MemberStatsHistory + * const memberStatsHistory = await prisma.memberStatsHistory.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberStatsHistoryClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberStatsHistory that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberStatsHistoryFindUniqueOrThrowArgs} args - Arguments to find a MemberStatsHistory + * @example + * // Get one MemberStatsHistory + * const memberStatsHistory = await prisma.memberStatsHistory.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberStatsHistoryClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberStatsHistory 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 {memberStatsHistoryFindFirstArgs} args - Arguments to find a MemberStatsHistory + * @example + * // Get one MemberStatsHistory + * const memberStatsHistory = await prisma.memberStatsHistory.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberStatsHistoryClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberStatsHistory 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 {memberStatsHistoryFindFirstOrThrowArgs} args - Arguments to find a MemberStatsHistory + * @example + * // Get one MemberStatsHistory + * const memberStatsHistory = await prisma.memberStatsHistory.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberStatsHistoryClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberStatsHistories 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 {memberStatsHistoryFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberStatsHistories + * const memberStatsHistories = await prisma.memberStatsHistory.findMany() + * + * // Get first 10 MemberStatsHistories + * const memberStatsHistories = await prisma.memberStatsHistory.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberStatsHistoryWithIdOnly = await prisma.memberStatsHistory.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberStatsHistory. + * @param {memberStatsHistoryCreateArgs} args - Arguments to create a MemberStatsHistory. + * @example + * // Create one MemberStatsHistory + * const MemberStatsHistory = await prisma.memberStatsHistory.create({ + * data: { + * // ... data to create a MemberStatsHistory + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberStatsHistoryClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberStatsHistories. + * @param {memberStatsHistoryCreateManyArgs} args - Arguments to create many MemberStatsHistories. + * @example + * // Create many MemberStatsHistories + * const memberStatsHistory = await prisma.memberStatsHistory.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberStatsHistories and returns the data saved in the database. + * @param {memberStatsHistoryCreateManyAndReturnArgs} args - Arguments to create many MemberStatsHistories. + * @example + * // Create many MemberStatsHistories + * const memberStatsHistory = await prisma.memberStatsHistory.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberStatsHistories and only return the `id` + * const memberStatsHistoryWithIdOnly = await prisma.memberStatsHistory.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberStatsHistory. + * @param {memberStatsHistoryDeleteArgs} args - Arguments to delete one MemberStatsHistory. + * @example + * // Delete one MemberStatsHistory + * const MemberStatsHistory = await prisma.memberStatsHistory.delete({ + * where: { + * // ... filter to delete one MemberStatsHistory + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberStatsHistoryClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberStatsHistory. + * @param {memberStatsHistoryUpdateArgs} args - Arguments to update one MemberStatsHistory. + * @example + * // Update one MemberStatsHistory + * const memberStatsHistory = await prisma.memberStatsHistory.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberStatsHistoryClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberStatsHistories. + * @param {memberStatsHistoryDeleteManyArgs} args - Arguments to filter MemberStatsHistories to delete. + * @example + * // Delete a few MemberStatsHistories + * const { count } = await prisma.memberStatsHistory.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberStatsHistories. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberStatsHistoryUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberStatsHistories + * const memberStatsHistory = await prisma.memberStatsHistory.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberStatsHistories and returns the data updated in the database. + * @param {memberStatsHistoryUpdateManyAndReturnArgs} args - Arguments to update many MemberStatsHistories. + * @example + * // Update many MemberStatsHistories + * const memberStatsHistory = await prisma.memberStatsHistory.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberStatsHistories and only return the `id` + * const memberStatsHistoryWithIdOnly = await prisma.memberStatsHistory.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberStatsHistory. + * @param {memberStatsHistoryUpsertArgs} args - Arguments to update or create a MemberStatsHistory. + * @example + * // Update or create a MemberStatsHistory + * const memberStatsHistory = await prisma.memberStatsHistory.upsert({ + * create: { + * // ... data to create a MemberStatsHistory + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberStatsHistory we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberStatsHistoryClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberStatsHistories. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberStatsHistoryCountArgs} args - Arguments to filter MemberStatsHistories to count. + * @example + * // Count the number of MemberStatsHistories + * const count = await prisma.memberStatsHistory.count({ + * where: { + * // ... the filter for the MemberStatsHistories we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberStatsHistory. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberStatsHistoryAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberStatsHistory. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberStatsHistoryGroupByArgs} 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 memberStatsHistoryGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberStatsHistoryGroupByArgs['orderBy'] } + : { orderBy?: memberStatsHistoryGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberStatsHistoryGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberStatsHistory model + */ + readonly fields: memberStatsHistoryFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberStatsHistory. + * 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__memberStatsHistoryClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + member = {}>(args?: Subset>): Prisma__memberClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberStatsHistory model + */ + interface memberStatsHistoryFieldRefs { + readonly id: FieldRef<"memberStatsHistory", 'BigInt'> + readonly userId: FieldRef<"memberStatsHistory", 'BigInt'> + readonly trackId: FieldRef<"memberStatsHistory", 'String'> + readonly typeId: FieldRef<"memberStatsHistory", 'String'> + readonly challengeId: FieldRef<"memberStatsHistory", 'String'> + readonly mostRecent: FieldRef<"memberStatsHistory", 'Boolean'> + readonly oldRating: FieldRef<"memberStatsHistory", 'Int'> + readonly newRating: FieldRef<"memberStatsHistory", 'Int'> + readonly placement: FieldRef<"memberStatsHistory", 'Int'> + readonly percentile: FieldRef<"memberStatsHistory", 'Float'> + readonly oldVolatility: FieldRef<"memberStatsHistory", 'Int'> + readonly newVolatility: FieldRef<"memberStatsHistory", 'Int'> + readonly oldGlobalRank: FieldRef<"memberStatsHistory", 'Int'> + readonly newGlobalRank: FieldRef<"memberStatsHistory", 'Int'> + readonly oldCountryRank: FieldRef<"memberStatsHistory", 'Int'> + readonly newCountryRank: FieldRef<"memberStatsHistory", 'Int'> + readonly oldSchoolRank: FieldRef<"memberStatsHistory", 'Int'> + readonly newSchoolRank: FieldRef<"memberStatsHistory", 'Int'> + readonly eventDate: FieldRef<"memberStatsHistory", 'DateTime'> + readonly createdAt: FieldRef<"memberStatsHistory", 'DateTime'> + readonly createdBy: FieldRef<"memberStatsHistory", 'String'> + readonly updatedAt: FieldRef<"memberStatsHistory", 'DateTime'> + readonly updatedBy: FieldRef<"memberStatsHistory", 'String'> + } + + + // Custom InputTypes + /** + * memberStatsHistory findUnique + */ + export type memberStatsHistoryFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + /** + * Filter, which memberStatsHistory to fetch. + */ + where: memberStatsHistoryWhereUniqueInput + } + + /** + * memberStatsHistory findUniqueOrThrow + */ + export type memberStatsHistoryFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + /** + * Filter, which memberStatsHistory to fetch. + */ + where: memberStatsHistoryWhereUniqueInput + } + + /** + * memberStatsHistory findFirst + */ + export type memberStatsHistoryFindFirstArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + /** + * Filter, which memberStatsHistory to fetch. + */ + where?: memberStatsHistoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberStatsHistories to fetch. + */ + orderBy?: memberStatsHistoryOrderByWithRelationInput | memberStatsHistoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberStatsHistories. + */ + cursor?: memberStatsHistoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberStatsHistories 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` memberStatsHistories. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberStatsHistories. + */ + distinct?: MemberStatsHistoryScalarFieldEnum | MemberStatsHistoryScalarFieldEnum[] + } + + /** + * memberStatsHistory findFirstOrThrow + */ + export type memberStatsHistoryFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + /** + * Filter, which memberStatsHistory to fetch. + */ + where?: memberStatsHistoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberStatsHistories to fetch. + */ + orderBy?: memberStatsHistoryOrderByWithRelationInput | memberStatsHistoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberStatsHistories. + */ + cursor?: memberStatsHistoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberStatsHistories 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` memberStatsHistories. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberStatsHistories. + */ + distinct?: MemberStatsHistoryScalarFieldEnum | MemberStatsHistoryScalarFieldEnum[] + } + + /** + * memberStatsHistory findMany + */ + export type memberStatsHistoryFindManyArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + /** + * Filter, which memberStatsHistories to fetch. + */ + where?: memberStatsHistoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberStatsHistories to fetch. + */ + orderBy?: memberStatsHistoryOrderByWithRelationInput | memberStatsHistoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberStatsHistories. + */ + cursor?: memberStatsHistoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberStatsHistories 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` memberStatsHistories. + */ + skip?: number + distinct?: MemberStatsHistoryScalarFieldEnum | MemberStatsHistoryScalarFieldEnum[] + } + + /** + * memberStatsHistory create + */ + export type memberStatsHistoryCreateArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + /** + * The data needed to create a memberStatsHistory. + */ + data: XOR + } + + /** + * memberStatsHistory createMany + */ + export type memberStatsHistoryCreateManyArgs = { + /** + * The data used to create many memberStatsHistories. + */ + data: memberStatsHistoryCreateManyInput | memberStatsHistoryCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberStatsHistory createManyAndReturn + */ + export type memberStatsHistoryCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * The data used to create many memberStatsHistories. + */ + data: memberStatsHistoryCreateManyInput | memberStatsHistoryCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryIncludeCreateManyAndReturn | null + } + + /** + * memberStatsHistory update + */ + export type memberStatsHistoryUpdateArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + /** + * The data needed to update a memberStatsHistory. + */ + data: XOR + /** + * Choose, which memberStatsHistory to update. + */ + where: memberStatsHistoryWhereUniqueInput + } + + /** + * memberStatsHistory updateMany + */ + export type memberStatsHistoryUpdateManyArgs = { + /** + * The data used to update memberStatsHistories. + */ + data: XOR + /** + * Filter which memberStatsHistories to update + */ + where?: memberStatsHistoryWhereInput + /** + * Limit how many memberStatsHistories to update. + */ + limit?: number + } + + /** + * memberStatsHistory updateManyAndReturn + */ + export type memberStatsHistoryUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * The data used to update memberStatsHistories. + */ + data: XOR + /** + * Filter which memberStatsHistories to update + */ + where?: memberStatsHistoryWhereInput + /** + * Limit how many memberStatsHistories to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryIncludeUpdateManyAndReturn | null + } + + /** + * memberStatsHistory upsert + */ + export type memberStatsHistoryUpsertArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + /** + * The filter to search for the memberStatsHistory to update in case it exists. + */ + where: memberStatsHistoryWhereUniqueInput + /** + * In case the memberStatsHistory found by the `where` argument doesn't exist, create a new memberStatsHistory with this data. + */ + create: XOR + /** + * In case the memberStatsHistory was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberStatsHistory delete + */ + export type memberStatsHistoryDeleteArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + /** + * Filter which memberStatsHistory to delete. + */ + where: memberStatsHistoryWhereUniqueInput + } + + /** + * memberStatsHistory deleteMany + */ + export type memberStatsHistoryDeleteManyArgs = { + /** + * Filter which memberStatsHistories to delete + */ + where?: memberStatsHistoryWhereInput + /** + * Limit how many memberStatsHistories to delete. + */ + limit?: number + } + + /** + * memberStatsHistory without action + */ + export type memberStatsHistoryDefaultArgs = { + /** + * Select specific fields to fetch from the memberStatsHistory + */ + select?: memberStatsHistorySelect | null + /** + * Omit specific fields from the memberStatsHistory + */ + omit?: memberStatsHistoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsHistoryInclude | null + } + + + /** + * Model memberStats + */ + + export type AggregateMemberStats = { + _count: MemberStatsCountAggregateOutputType | null + _avg: MemberStatsAvgAggregateOutputType | null + _sum: MemberStatsSumAggregateOutputType | null + _min: MemberStatsMinAggregateOutputType | null + _max: MemberStatsMaxAggregateOutputType | null + } + + export type MemberStatsAvgAggregateOutputType = { + id: number | null + userId: number | null + challenges: number | null + wins: number | null + rating: number | null + avgRank: number | null + avgNumSubmissions: number | null + bestRank: number | null + globalRank: number | null + countryRank: number | null + schoolRank: number | null + volatility: number | null + maxRating: number | null + minRating: number | null + topFiveFinishes: number | null + topTenFinishes: number | null + } + + export type MemberStatsSumAggregateOutputType = { + id: bigint | null + userId: bigint | null + challenges: number | null + wins: number | null + rating: number | null + avgRank: number | null + avgNumSubmissions: number | null + bestRank: number | null + globalRank: number | null + countryRank: number | null + schoolRank: number | null + volatility: number | null + maxRating: number | null + minRating: number | null + topFiveFinishes: number | null + topTenFinishes: number | null + } + + export type MemberStatsMinAggregateOutputType = { + id: bigint | null + userId: bigint | null + trackId: string | null + typeId: string | null + challenges: number | null + wins: number | null + mostRecentSubmission: Date | null + mostRecentEventDate: Date | null + rating: number | null + avgRank: number | null + avgNumSubmissions: number | null + bestRank: number | null + globalRank: number | null + countryRank: number | null + schoolRank: number | null + volatility: number | null + maxRating: number | null + minRating: number | null + topFiveFinishes: number | null + topTenFinishes: number | null + isPrivate: boolean | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberStatsMaxAggregateOutputType = { + id: bigint | null + userId: bigint | null + trackId: string | null + typeId: string | null + challenges: number | null + wins: number | null + mostRecentSubmission: Date | null + mostRecentEventDate: Date | null + rating: number | null + avgRank: number | null + avgNumSubmissions: number | null + bestRank: number | null + globalRank: number | null + countryRank: number | null + schoolRank: number | null + volatility: number | null + maxRating: number | null + minRating: number | null + topFiveFinishes: number | null + topTenFinishes: number | null + isPrivate: boolean | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberStatsCountAggregateOutputType = { + id: number + userId: number + trackId: number + typeId: number + challenges: number + wins: number + mostRecentSubmission: number + mostRecentEventDate: number + rating: number + avgRank: number + avgNumSubmissions: number + bestRank: number + globalRank: number + countryRank: number + schoolRank: number + volatility: number + maxRating: number + minRating: number + topFiveFinishes: number + topTenFinishes: number + isPrivate: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberStatsAvgAggregateInputType = { + id?: true + userId?: true + challenges?: true + wins?: true + rating?: true + avgRank?: true + avgNumSubmissions?: true + bestRank?: true + globalRank?: true + countryRank?: true + schoolRank?: true + volatility?: true + maxRating?: true + minRating?: true + topFiveFinishes?: true + topTenFinishes?: true + } + + export type MemberStatsSumAggregateInputType = { + id?: true + userId?: true + challenges?: true + wins?: true + rating?: true + avgRank?: true + avgNumSubmissions?: true + bestRank?: true + globalRank?: true + countryRank?: true + schoolRank?: true + volatility?: true + maxRating?: true + minRating?: true + topFiveFinishes?: true + topTenFinishes?: true + } + + export type MemberStatsMinAggregateInputType = { + id?: true + userId?: true + trackId?: true + typeId?: true + challenges?: true + wins?: true + mostRecentSubmission?: true + mostRecentEventDate?: true + rating?: true + avgRank?: true + avgNumSubmissions?: true + bestRank?: true + globalRank?: true + countryRank?: true + schoolRank?: true + volatility?: true + maxRating?: true + minRating?: true + topFiveFinishes?: true + topTenFinishes?: true + isPrivate?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberStatsMaxAggregateInputType = { + id?: true + userId?: true + trackId?: true + typeId?: true + challenges?: true + wins?: true + mostRecentSubmission?: true + mostRecentEventDate?: true + rating?: true + avgRank?: true + avgNumSubmissions?: true + bestRank?: true + globalRank?: true + countryRank?: true + schoolRank?: true + volatility?: true + maxRating?: true + minRating?: true + topFiveFinishes?: true + topTenFinishes?: true + isPrivate?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberStatsCountAggregateInputType = { + id?: true + userId?: true + trackId?: true + typeId?: true + challenges?: true + wins?: true + mostRecentSubmission?: true + mostRecentEventDate?: true + rating?: true + avgRank?: true + avgNumSubmissions?: true + bestRank?: true + globalRank?: true + countryRank?: true + schoolRank?: true + volatility?: true + maxRating?: true + minRating?: true + topFiveFinishes?: true + topTenFinishes?: true + isPrivate?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberStatsAggregateArgs = { + /** + * Filter which memberStats to aggregate. + */ + where?: memberStatsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberStats to fetch. + */ + orderBy?: memberStatsOrderByWithRelationInput | memberStatsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberStatsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberStats 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` memberStats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberStats + **/ + _count?: true | MemberStatsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberStatsAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberStatsSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberStatsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberStatsMaxAggregateInputType + } + + export type GetMemberStatsAggregateType = { + [P in keyof T & keyof AggregateMemberStats]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberStatsGroupByArgs = { + where?: memberStatsWhereInput + orderBy?: memberStatsOrderByWithAggregationInput | memberStatsOrderByWithAggregationInput[] + by: MemberStatsScalarFieldEnum[] | MemberStatsScalarFieldEnum + having?: memberStatsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberStatsCountAggregateInputType | true + _avg?: MemberStatsAvgAggregateInputType + _sum?: MemberStatsSumAggregateInputType + _min?: MemberStatsMinAggregateInputType + _max?: MemberStatsMaxAggregateInputType + } + + export type MemberStatsGroupByOutputType = { + id: bigint + userId: bigint + trackId: string | null + typeId: string | null + challenges: number | null + wins: number | null + mostRecentSubmission: Date | null + mostRecentEventDate: Date | null + rating: number | null + avgRank: number | null + avgNumSubmissions: number | null + bestRank: number | null + globalRank: number | null + countryRank: number | null + schoolRank: number | null + volatility: number | null + maxRating: number | null + minRating: number | null + topFiveFinishes: number | null + topTenFinishes: number | null + isPrivate: boolean + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberStatsCountAggregateOutputType | null + _avg: MemberStatsAvgAggregateOutputType | null + _sum: MemberStatsSumAggregateOutputType | null + _min: MemberStatsMinAggregateOutputType | null + _max: MemberStatsMaxAggregateOutputType | null + } + + type GetMemberStatsGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberStatsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberStatsSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + trackId?: boolean + typeId?: boolean + challenges?: boolean + wins?: boolean + mostRecentSubmission?: boolean + mostRecentEventDate?: boolean + rating?: boolean + avgRank?: boolean + avgNumSubmissions?: boolean + bestRank?: boolean + globalRank?: boolean + countryRank?: boolean + schoolRank?: boolean + volatility?: boolean + maxRating?: boolean + minRating?: boolean + topFiveFinishes?: boolean + topTenFinishes?: boolean + isPrivate?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberStats"]> + + export type memberStatsSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + trackId?: boolean + typeId?: boolean + challenges?: boolean + wins?: boolean + mostRecentSubmission?: boolean + mostRecentEventDate?: boolean + rating?: boolean + avgRank?: boolean + avgNumSubmissions?: boolean + bestRank?: boolean + globalRank?: boolean + countryRank?: boolean + schoolRank?: boolean + volatility?: boolean + maxRating?: boolean + minRating?: boolean + topFiveFinishes?: boolean + topTenFinishes?: boolean + isPrivate?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberStats"]> + + export type memberStatsSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + trackId?: boolean + typeId?: boolean + challenges?: boolean + wins?: boolean + mostRecentSubmission?: boolean + mostRecentEventDate?: boolean + rating?: boolean + avgRank?: boolean + avgNumSubmissions?: boolean + bestRank?: boolean + globalRank?: boolean + countryRank?: boolean + schoolRank?: boolean + volatility?: boolean + maxRating?: boolean + minRating?: boolean + topFiveFinishes?: boolean + topTenFinishes?: boolean + isPrivate?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberStats"]> + + export type memberStatsSelectScalar = { + id?: boolean + userId?: boolean + trackId?: boolean + typeId?: boolean + challenges?: boolean + wins?: boolean + mostRecentSubmission?: boolean + mostRecentEventDate?: boolean + rating?: boolean + avgRank?: boolean + avgNumSubmissions?: boolean + bestRank?: boolean + globalRank?: boolean + countryRank?: boolean + schoolRank?: boolean + volatility?: boolean + maxRating?: boolean + minRating?: boolean + topFiveFinishes?: boolean + topTenFinishes?: boolean + isPrivate?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberStatsOmit = $Extensions.GetOmit<"id" | "userId" | "trackId" | "typeId" | "challenges" | "wins" | "mostRecentSubmission" | "mostRecentEventDate" | "rating" | "avgRank" | "avgNumSubmissions" | "bestRank" | "globalRank" | "countryRank" | "schoolRank" | "volatility" | "maxRating" | "minRating" | "topFiveFinishes" | "topTenFinishes" | "isPrivate" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberStats"]> + export type memberStatsInclude = { + member?: boolean | memberDefaultArgs + } + export type memberStatsIncludeCreateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + export type memberStatsIncludeUpdateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + + export type $memberStatsPayload = { + name: "memberStats" + objects: { + member: Prisma.$memberPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + userId: bigint + trackId: string | null + typeId: string | null + challenges: number | null + wins: number | null + mostRecentSubmission: Date | null + mostRecentEventDate: Date | null + rating: number | null + avgRank: number | null + avgNumSubmissions: number | null + bestRank: number | null + globalRank: number | null + countryRank: number | null + schoolRank: number | null + volatility: number | null + maxRating: number | null + minRating: number | null + topFiveFinishes: number | null + topTenFinishes: number | null + isPrivate: boolean + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberStats"]> + composites: {} + } + + type memberStatsGetPayload = $Result.GetResult + + type memberStatsCountArgs = + Omit & { + select?: MemberStatsCountAggregateInputType | true + } + + export interface memberStatsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberStats'], meta: { name: 'memberStats' } } + /** + * Find zero or one MemberStats that matches the filter. + * @param {memberStatsFindUniqueArgs} args - Arguments to find a MemberStats + * @example + * // Get one MemberStats + * const memberStats = await prisma.memberStats.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberStatsClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberStats that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberStatsFindUniqueOrThrowArgs} args - Arguments to find a MemberStats + * @example + * // Get one MemberStats + * const memberStats = await prisma.memberStats.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberStatsClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberStats 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 {memberStatsFindFirstArgs} args - Arguments to find a MemberStats + * @example + * // Get one MemberStats + * const memberStats = await prisma.memberStats.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberStatsClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberStats 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 {memberStatsFindFirstOrThrowArgs} args - Arguments to find a MemberStats + * @example + * // Get one MemberStats + * const memberStats = await prisma.memberStats.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberStatsClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberStats 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 {memberStatsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberStats + * const memberStats = await prisma.memberStats.findMany() + * + * // Get first 10 MemberStats + * const memberStats = await prisma.memberStats.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberStatsWithIdOnly = await prisma.memberStats.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberStats. + * @param {memberStatsCreateArgs} args - Arguments to create a MemberStats. + * @example + * // Create one MemberStats + * const MemberStats = await prisma.memberStats.create({ + * data: { + * // ... data to create a MemberStats + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberStatsClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberStats. + * @param {memberStatsCreateManyArgs} args - Arguments to create many MemberStats. + * @example + * // Create many MemberStats + * const memberStats = await prisma.memberStats.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberStats and returns the data saved in the database. + * @param {memberStatsCreateManyAndReturnArgs} args - Arguments to create many MemberStats. + * @example + * // Create many MemberStats + * const memberStats = await prisma.memberStats.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberStats and only return the `id` + * const memberStatsWithIdOnly = await prisma.memberStats.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberStats. + * @param {memberStatsDeleteArgs} args - Arguments to delete one MemberStats. + * @example + * // Delete one MemberStats + * const MemberStats = await prisma.memberStats.delete({ + * where: { + * // ... filter to delete one MemberStats + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberStatsClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberStats. + * @param {memberStatsUpdateArgs} args - Arguments to update one MemberStats. + * @example + * // Update one MemberStats + * const memberStats = await prisma.memberStats.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberStatsClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberStats. + * @param {memberStatsDeleteManyArgs} args - Arguments to filter MemberStats to delete. + * @example + * // Delete a few MemberStats + * const { count } = await prisma.memberStats.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberStats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberStatsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberStats + * const memberStats = await prisma.memberStats.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberStats and returns the data updated in the database. + * @param {memberStatsUpdateManyAndReturnArgs} args - Arguments to update many MemberStats. + * @example + * // Update many MemberStats + * const memberStats = await prisma.memberStats.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberStats and only return the `id` + * const memberStatsWithIdOnly = await prisma.memberStats.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberStats. + * @param {memberStatsUpsertArgs} args - Arguments to update or create a MemberStats. + * @example + * // Update or create a MemberStats + * const memberStats = await prisma.memberStats.upsert({ + * create: { + * // ... data to create a MemberStats + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberStats we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberStatsClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberStats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberStatsCountArgs} args - Arguments to filter MemberStats to count. + * @example + * // Count the number of MemberStats + * const count = await prisma.memberStats.count({ + * where: { + * // ... the filter for the MemberStats we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberStats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberStatsAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberStats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberStatsGroupByArgs} 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 memberStatsGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberStatsGroupByArgs['orderBy'] } + : { orderBy?: memberStatsGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberStatsGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberStats model + */ + readonly fields: memberStatsFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberStats. + * 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__memberStatsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + member = {}>(args?: Subset>): Prisma__memberClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberStats model + */ + interface memberStatsFieldRefs { + readonly id: FieldRef<"memberStats", 'BigInt'> + readonly userId: FieldRef<"memberStats", 'BigInt'> + readonly trackId: FieldRef<"memberStats", 'String'> + readonly typeId: FieldRef<"memberStats", 'String'> + readonly challenges: FieldRef<"memberStats", 'Int'> + readonly wins: FieldRef<"memberStats", 'Int'> + readonly mostRecentSubmission: FieldRef<"memberStats", 'DateTime'> + readonly mostRecentEventDate: FieldRef<"memberStats", 'DateTime'> + readonly rating: FieldRef<"memberStats", 'Int'> + readonly avgRank: FieldRef<"memberStats", 'Float'> + readonly avgNumSubmissions: FieldRef<"memberStats", 'Int'> + readonly bestRank: FieldRef<"memberStats", 'Int'> + readonly globalRank: FieldRef<"memberStats", 'Int'> + readonly countryRank: FieldRef<"memberStats", 'Int'> + readonly schoolRank: FieldRef<"memberStats", 'Int'> + readonly volatility: FieldRef<"memberStats", 'Int'> + readonly maxRating: FieldRef<"memberStats", 'Int'> + readonly minRating: FieldRef<"memberStats", 'Int'> + readonly topFiveFinishes: FieldRef<"memberStats", 'Int'> + readonly topTenFinishes: FieldRef<"memberStats", 'Int'> + readonly isPrivate: FieldRef<"memberStats", 'Boolean'> + readonly createdAt: FieldRef<"memberStats", 'DateTime'> + readonly createdBy: FieldRef<"memberStats", 'String'> + readonly updatedAt: FieldRef<"memberStats", 'DateTime'> + readonly updatedBy: FieldRef<"memberStats", 'String'> + } + + + // Custom InputTypes + /** + * memberStats findUnique + */ + export type memberStatsFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + /** + * Filter, which memberStats to fetch. + */ + where: memberStatsWhereUniqueInput + } + + /** + * memberStats findUniqueOrThrow + */ + export type memberStatsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + /** + * Filter, which memberStats to fetch. + */ + where: memberStatsWhereUniqueInput + } + + /** + * memberStats findFirst + */ + export type memberStatsFindFirstArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + /** + * Filter, which memberStats to fetch. + */ + where?: memberStatsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberStats to fetch. + */ + orderBy?: memberStatsOrderByWithRelationInput | memberStatsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberStats. + */ + cursor?: memberStatsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberStats 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` memberStats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberStats. + */ + distinct?: MemberStatsScalarFieldEnum | MemberStatsScalarFieldEnum[] + } + + /** + * memberStats findFirstOrThrow + */ + export type memberStatsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + /** + * Filter, which memberStats to fetch. + */ + where?: memberStatsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberStats to fetch. + */ + orderBy?: memberStatsOrderByWithRelationInput | memberStatsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberStats. + */ + cursor?: memberStatsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberStats 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` memberStats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberStats. + */ + distinct?: MemberStatsScalarFieldEnum | MemberStatsScalarFieldEnum[] + } + + /** + * memberStats findMany + */ + export type memberStatsFindManyArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + /** + * Filter, which memberStats to fetch. + */ + where?: memberStatsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberStats to fetch. + */ + orderBy?: memberStatsOrderByWithRelationInput | memberStatsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberStats. + */ + cursor?: memberStatsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberStats 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` memberStats. + */ + skip?: number + distinct?: MemberStatsScalarFieldEnum | MemberStatsScalarFieldEnum[] + } + + /** + * memberStats create + */ + export type memberStatsCreateArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + /** + * The data needed to create a memberStats. + */ + data: XOR + } + + /** + * memberStats createMany + */ + export type memberStatsCreateManyArgs = { + /** + * The data used to create many memberStats. + */ + data: memberStatsCreateManyInput | memberStatsCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberStats createManyAndReturn + */ + export type memberStatsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * The data used to create many memberStats. + */ + data: memberStatsCreateManyInput | memberStatsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsIncludeCreateManyAndReturn | null + } + + /** + * memberStats update + */ + export type memberStatsUpdateArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + /** + * The data needed to update a memberStats. + */ + data: XOR + /** + * Choose, which memberStats to update. + */ + where: memberStatsWhereUniqueInput + } + + /** + * memberStats updateMany + */ + export type memberStatsUpdateManyArgs = { + /** + * The data used to update memberStats. + */ + data: XOR + /** + * Filter which memberStats to update + */ + where?: memberStatsWhereInput + /** + * Limit how many memberStats to update. + */ + limit?: number + } + + /** + * memberStats updateManyAndReturn + */ + export type memberStatsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * The data used to update memberStats. + */ + data: XOR + /** + * Filter which memberStats to update + */ + where?: memberStatsWhereInput + /** + * Limit how many memberStats to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsIncludeUpdateManyAndReturn | null + } + + /** + * memberStats upsert + */ + export type memberStatsUpsertArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + /** + * The filter to search for the memberStats to update in case it exists. + */ + where: memberStatsWhereUniqueInput + /** + * In case the memberStats found by the `where` argument doesn't exist, create a new memberStats with this data. + */ + create: XOR + /** + * In case the memberStats was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberStats delete + */ + export type memberStatsDeleteArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + /** + * Filter which memberStats to delete. + */ + where: memberStatsWhereUniqueInput + } + + /** + * memberStats deleteMany + */ + export type memberStatsDeleteManyArgs = { + /** + * Filter which memberStats to delete + */ + where?: memberStatsWhereInput + /** + * Limit how many memberStats to delete. + */ + limit?: number + } + + /** + * memberStats without action + */ + export type memberStatsDefaultArgs = { + /** + * Select specific fields to fetch from the memberStats + */ + select?: memberStatsSelect | null + /** + * Omit specific fields from the memberStats + */ + omit?: memberStatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberStatsInclude | null + } + + + /** + * Model memberChallengePoints + */ + + export type AggregateMemberChallengePoints = { + _count: MemberChallengePointsCountAggregateOutputType | null + _avg: MemberChallengePointsAvgAggregateOutputType | null + _sum: MemberChallengePointsSumAggregateOutputType | null + _min: MemberChallengePointsMinAggregateOutputType | null + _max: MemberChallengePointsMaxAggregateOutputType | null + } + + export type MemberChallengePointsAvgAggregateOutputType = { + id: number | null + userId: number | null + placement: number | null + points: number | null + } + + export type MemberChallengePointsSumAggregateOutputType = { + id: bigint | null + userId: bigint | null + placement: number | null + points: number | null + } + + export type MemberChallengePointsMinAggregateOutputType = { + id: bigint | null + challengeId: string | null + challengeName: string | null + userId: bigint | null + placement: number | null + points: number | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberChallengePointsMaxAggregateOutputType = { + id: bigint | null + challengeId: string | null + challengeName: string | null + userId: bigint | null + placement: number | null + points: number | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberChallengePointsCountAggregateOutputType = { + id: number + challengeId: number + challengeName: number + userId: number + placement: number + points: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberChallengePointsAvgAggregateInputType = { + id?: true + userId?: true + placement?: true + points?: true + } + + export type MemberChallengePointsSumAggregateInputType = { + id?: true + userId?: true + placement?: true + points?: true + } + + export type MemberChallengePointsMinAggregateInputType = { + id?: true + challengeId?: true + challengeName?: true + userId?: true + placement?: true + points?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberChallengePointsMaxAggregateInputType = { + id?: true + challengeId?: true + challengeName?: true + userId?: true + placement?: true + points?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberChallengePointsCountAggregateInputType = { + id?: true + challengeId?: true + challengeName?: true + userId?: true + placement?: true + points?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberChallengePointsAggregateArgs = { + /** + * Filter which memberChallengePoints to aggregate. + */ + where?: memberChallengePointsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberChallengePoints to fetch. + */ + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberChallengePointsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberChallengePoints 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` memberChallengePoints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberChallengePoints + **/ + _count?: true | MemberChallengePointsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberChallengePointsAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberChallengePointsSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberChallengePointsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberChallengePointsMaxAggregateInputType + } + + export type GetMemberChallengePointsAggregateType = { + [P in keyof T & keyof AggregateMemberChallengePoints]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberChallengePointsGroupByArgs = { + where?: memberChallengePointsWhereInput + orderBy?: memberChallengePointsOrderByWithAggregationInput | memberChallengePointsOrderByWithAggregationInput[] + by: MemberChallengePointsScalarFieldEnum[] | MemberChallengePointsScalarFieldEnum + having?: memberChallengePointsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberChallengePointsCountAggregateInputType | true + _avg?: MemberChallengePointsAvgAggregateInputType + _sum?: MemberChallengePointsSumAggregateInputType + _min?: MemberChallengePointsMinAggregateInputType + _max?: MemberChallengePointsMaxAggregateInputType + } + + export type MemberChallengePointsGroupByOutputType = { + id: bigint + challengeId: string + challengeName: string + userId: bigint + placement: number + points: number + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberChallengePointsCountAggregateOutputType | null + _avg: MemberChallengePointsAvgAggregateOutputType | null + _sum: MemberChallengePointsSumAggregateOutputType | null + _min: MemberChallengePointsMinAggregateOutputType | null + _max: MemberChallengePointsMaxAggregateOutputType | null + } + + type GetMemberChallengePointsGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberChallengePointsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberChallengePointsSelect = $Extensions.GetSelect<{ + id?: boolean + challengeId?: boolean + challengeName?: boolean + userId?: boolean + placement?: boolean + points?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberChallengePoints"]> + + export type memberChallengePointsSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + challengeId?: boolean + challengeName?: boolean + userId?: boolean + placement?: boolean + points?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberChallengePoints"]> + + export type memberChallengePointsSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + challengeId?: boolean + challengeName?: boolean + userId?: boolean + placement?: boolean + points?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberChallengePoints"]> + + export type memberChallengePointsSelectScalar = { + id?: boolean + challengeId?: boolean + challengeName?: boolean + userId?: boolean + placement?: boolean + points?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberChallengePointsOmit = $Extensions.GetOmit<"id" | "challengeId" | "challengeName" | "userId" | "placement" | "points" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberChallengePoints"]> + export type memberChallengePointsInclude = { + member?: boolean | memberDefaultArgs + } + export type memberChallengePointsIncludeCreateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + export type memberChallengePointsIncludeUpdateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + + export type $memberChallengePointsPayload = { + name: "memberChallengePoints" + objects: { + member: Prisma.$memberPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + challengeId: string + challengeName: string + userId: bigint + placement: number + points: number + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberChallengePoints"]> + composites: {} + } + + type memberChallengePointsGetPayload = $Result.GetResult + + type memberChallengePointsCountArgs = + Omit & { + select?: MemberChallengePointsCountAggregateInputType | true + } + + export interface memberChallengePointsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberChallengePoints'], meta: { name: 'memberChallengePoints' } } + /** + * Find zero or one MemberChallengePoints that matches the filter. + * @param {memberChallengePointsFindUniqueArgs} args - Arguments to find a MemberChallengePoints + * @example + * // Get one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberChallengePoints that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberChallengePointsFindUniqueOrThrowArgs} args - Arguments to find a MemberChallengePoints + * @example + * // Get one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberChallengePoints 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 {memberChallengePointsFindFirstArgs} args - Arguments to find a MemberChallengePoints + * @example + * // Get one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberChallengePoints 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 {memberChallengePointsFindFirstOrThrowArgs} args - Arguments to find a MemberChallengePoints + * @example + * // Get one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberChallengePoints 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 {memberChallengePointsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findMany() + * + * // Get first 10 MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberChallengePointsWithIdOnly = await prisma.memberChallengePoints.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberChallengePoints. + * @param {memberChallengePointsCreateArgs} args - Arguments to create a MemberChallengePoints. + * @example + * // Create one MemberChallengePoints + * const MemberChallengePoints = await prisma.memberChallengePoints.create({ + * data: { + * // ... data to create a MemberChallengePoints + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberChallengePoints. + * @param {memberChallengePointsCreateManyArgs} args - Arguments to create many MemberChallengePoints. + * @example + * // Create many MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberChallengePoints and returns the data saved in the database. + * @param {memberChallengePointsCreateManyAndReturnArgs} args - Arguments to create many MemberChallengePoints. + * @example + * // Create many MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberChallengePoints and only return the `id` + * const memberChallengePointsWithIdOnly = await prisma.memberChallengePoints.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberChallengePoints. + * @param {memberChallengePointsDeleteArgs} args - Arguments to delete one MemberChallengePoints. + * @example + * // Delete one MemberChallengePoints + * const MemberChallengePoints = await prisma.memberChallengePoints.delete({ + * where: { + * // ... filter to delete one MemberChallengePoints + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberChallengePoints. + * @param {memberChallengePointsUpdateArgs} args - Arguments to update one MemberChallengePoints. + * @example + * // Update one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberChallengePoints. + * @param {memberChallengePointsDeleteManyArgs} args - Arguments to filter MemberChallengePoints to delete. + * @example + * // Delete a few MemberChallengePoints + * const { count } = await prisma.memberChallengePoints.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberChallengePoints. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberChallengePointsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberChallengePoints and returns the data updated in the database. + * @param {memberChallengePointsUpdateManyAndReturnArgs} args - Arguments to update many MemberChallengePoints. + * @example + * // Update many MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberChallengePoints and only return the `id` + * const memberChallengePointsWithIdOnly = await prisma.memberChallengePoints.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberChallengePoints. + * @param {memberChallengePointsUpsertArgs} args - Arguments to update or create a MemberChallengePoints. + * @example + * // Update or create a MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.upsert({ + * create: { + * // ... data to create a MemberChallengePoints + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberChallengePoints we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberChallengePoints. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberChallengePointsCountArgs} args - Arguments to filter MemberChallengePoints to count. + * @example + * // Count the number of MemberChallengePoints + * const count = await prisma.memberChallengePoints.count({ + * where: { + * // ... the filter for the MemberChallengePoints we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberChallengePoints. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberChallengePointsAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberChallengePoints. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberChallengePointsGroupByArgs} 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 memberChallengePointsGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberChallengePointsGroupByArgs['orderBy'] } + : { orderBy?: memberChallengePointsGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberChallengePointsGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberChallengePoints model + */ + readonly fields: memberChallengePointsFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberChallengePoints. + * 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__memberChallengePointsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + member = {}>(args?: Subset>): Prisma__memberClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberChallengePoints model + */ + interface memberChallengePointsFieldRefs { + readonly id: FieldRef<"memberChallengePoints", 'BigInt'> + readonly challengeId: FieldRef<"memberChallengePoints", 'String'> + readonly challengeName: FieldRef<"memberChallengePoints", 'String'> + readonly userId: FieldRef<"memberChallengePoints", 'BigInt'> + readonly placement: FieldRef<"memberChallengePoints", 'Int'> + readonly points: FieldRef<"memberChallengePoints", 'Int'> + readonly createdAt: FieldRef<"memberChallengePoints", 'DateTime'> + readonly createdBy: FieldRef<"memberChallengePoints", 'String'> + readonly updatedAt: FieldRef<"memberChallengePoints", 'DateTime'> + readonly updatedBy: FieldRef<"memberChallengePoints", 'String'> + } + + + // Custom InputTypes + /** + * memberChallengePoints findUnique + */ + export type memberChallengePointsFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where: memberChallengePointsWhereUniqueInput + } + + /** + * memberChallengePoints findUniqueOrThrow + */ + export type memberChallengePointsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where: memberChallengePointsWhereUniqueInput + } + + /** + * memberChallengePoints findFirst + */ + export type memberChallengePointsFindFirstArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where?: memberChallengePointsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberChallengePoints to fetch. + */ + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberChallengePoints. + */ + cursor?: memberChallengePointsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberChallengePoints 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` memberChallengePoints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberChallengePoints. + */ + distinct?: MemberChallengePointsScalarFieldEnum | MemberChallengePointsScalarFieldEnum[] + } + + /** + * memberChallengePoints findFirstOrThrow + */ + export type memberChallengePointsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where?: memberChallengePointsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberChallengePoints to fetch. + */ + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberChallengePoints. + */ + cursor?: memberChallengePointsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberChallengePoints 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` memberChallengePoints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberChallengePoints. + */ + distinct?: MemberChallengePointsScalarFieldEnum | MemberChallengePointsScalarFieldEnum[] + } + + /** + * memberChallengePoints findMany + */ + export type memberChallengePointsFindManyArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where?: memberChallengePointsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberChallengePoints to fetch. + */ + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberChallengePoints. + */ + cursor?: memberChallengePointsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberChallengePoints 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` memberChallengePoints. + */ + skip?: number + distinct?: MemberChallengePointsScalarFieldEnum | MemberChallengePointsScalarFieldEnum[] + } + + /** + * memberChallengePoints create + */ + export type memberChallengePointsCreateArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * The data needed to create a memberChallengePoints. + */ + data: XOR + } + + /** + * memberChallengePoints createMany + */ + export type memberChallengePointsCreateManyArgs = { + /** + * The data used to create many memberChallengePoints. + */ + data: memberChallengePointsCreateManyInput | memberChallengePointsCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberChallengePoints createManyAndReturn + */ + export type memberChallengePointsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * The data used to create many memberChallengePoints. + */ + data: memberChallengePointsCreateManyInput | memberChallengePointsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsIncludeCreateManyAndReturn | null + } + + /** + * memberChallengePoints update + */ + export type memberChallengePointsUpdateArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * The data needed to update a memberChallengePoints. + */ + data: XOR + /** + * Choose, which memberChallengePoints to update. + */ + where: memberChallengePointsWhereUniqueInput + } + + /** + * memberChallengePoints updateMany + */ + export type memberChallengePointsUpdateManyArgs = { + /** + * The data used to update memberChallengePoints. + */ + data: XOR + /** + * Filter which memberChallengePoints to update + */ + where?: memberChallengePointsWhereInput + /** + * Limit how many memberChallengePoints to update. + */ + limit?: number + } + + /** + * memberChallengePoints updateManyAndReturn + */ + export type memberChallengePointsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * The data used to update memberChallengePoints. + */ + data: XOR + /** + * Filter which memberChallengePoints to update + */ + where?: memberChallengePointsWhereInput + /** + * Limit how many memberChallengePoints to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsIncludeUpdateManyAndReturn | null + } + + /** + * memberChallengePoints upsert + */ + export type memberChallengePointsUpsertArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * The filter to search for the memberChallengePoints to update in case it exists. + */ + where: memberChallengePointsWhereUniqueInput + /** + * In case the memberChallengePoints found by the `where` argument doesn't exist, create a new memberChallengePoints with this data. + */ + create: XOR + /** + * In case the memberChallengePoints was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberChallengePoints delete + */ + export type memberChallengePointsDeleteArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter which memberChallengePoints to delete. + */ + where: memberChallengePointsWhereUniqueInput + } + + /** + * memberChallengePoints deleteMany + */ + export type memberChallengePointsDeleteManyArgs = { + /** + * Filter which memberChallengePoints to delete + */ + where?: memberChallengePointsWhereInput + /** + * Limit how many memberChallengePoints to delete. + */ + limit?: number + } + + /** + * memberChallengePoints without action + */ + export type memberChallengePointsDefaultArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + } + + + /** + * Model memberTraits + */ + + export type AggregateMemberTraits = { + _count: MemberTraitsCountAggregateOutputType | null + _avg: MemberTraitsAvgAggregateOutputType | null + _sum: MemberTraitsSumAggregateOutputType | null + _min: MemberTraitsMinAggregateOutputType | null + _max: MemberTraitsMaxAggregateOutputType | null + } + + export type MemberTraitsAvgAggregateOutputType = { + id: number | null + userId: number | null + } + + export type MemberTraitsSumAggregateOutputType = { + id: bigint | null + userId: bigint | null + } + + export type MemberTraitsMinAggregateOutputType = { + id: bigint | null + userId: bigint | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitsMaxAggregateOutputType = { + id: bigint | null + userId: bigint | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitsCountAggregateOutputType = { + id: number + userId: number + subscriptions: number + hobby: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitsAvgAggregateInputType = { + id?: true + userId?: true + } + + export type MemberTraitsSumAggregateInputType = { + id?: true + userId?: true + } + + export type MemberTraitsMinAggregateInputType = { + id?: true + userId?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitsMaxAggregateInputType = { + id?: true + userId?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitsCountAggregateInputType = { + id?: true + userId?: true + subscriptions?: true + hobby?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitsAggregateArgs = { + /** + * Filter which memberTraits to aggregate. + */ + where?: memberTraitsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraits to fetch. + */ + orderBy?: memberTraitsOrderByWithRelationInput | memberTraitsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraits 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` memberTraits. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraits + **/ + _count?: true | MemberTraitsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitsAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitsSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitsMaxAggregateInputType + } + + export type GetMemberTraitsAggregateType = { + [P in keyof T & keyof AggregateMemberTraits]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitsGroupByArgs = { + where?: memberTraitsWhereInput + orderBy?: memberTraitsOrderByWithAggregationInput | memberTraitsOrderByWithAggregationInput[] + by: MemberTraitsScalarFieldEnum[] | MemberTraitsScalarFieldEnum + having?: memberTraitsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitsCountAggregateInputType | true + _avg?: MemberTraitsAvgAggregateInputType + _sum?: MemberTraitsSumAggregateInputType + _min?: MemberTraitsMinAggregateInputType + _max?: MemberTraitsMaxAggregateInputType + } + + export type MemberTraitsGroupByOutputType = { + id: bigint + userId: bigint + subscriptions: string[] + hobby: string[] + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitsCountAggregateOutputType | null + _avg: MemberTraitsAvgAggregateOutputType | null + _sum: MemberTraitsSumAggregateOutputType | null + _min: MemberTraitsMinAggregateOutputType | null + _max: MemberTraitsMaxAggregateOutputType | null + } + + type GetMemberTraitsGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitsSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + subscriptions?: boolean + hobby?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + device?: boolean | memberTraits$deviceArgs + software?: boolean | memberTraits$softwareArgs + serviceProvider?: boolean | memberTraits$serviceProviderArgs + work?: boolean | memberTraits$workArgs + education?: boolean | memberTraits$educationArgs + basicInfo?: boolean | memberTraits$basicInfoArgs + language?: boolean | memberTraits$languageArgs + checklist?: boolean | memberTraits$checklistArgs + personalization?: boolean | memberTraits$personalizationArgs + community?: boolean | memberTraits$communityArgs + member?: boolean | memberDefaultArgs + _count?: boolean | MemberTraitsCountOutputTypeDefaultArgs + }, ExtArgs["result"]["memberTraits"]> + + export type memberTraitsSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + subscriptions?: boolean + hobby?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberTraits"]> + + export type memberTraitsSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + subscriptions?: boolean + hobby?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberTraits"]> + + export type memberTraitsSelectScalar = { + id?: boolean + userId?: boolean + subscriptions?: boolean + hobby?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitsOmit = $Extensions.GetOmit<"id" | "userId" | "subscriptions" | "hobby" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraits"]> + export type memberTraitsInclude = { + device?: boolean | memberTraits$deviceArgs + software?: boolean | memberTraits$softwareArgs + serviceProvider?: boolean | memberTraits$serviceProviderArgs + work?: boolean | memberTraits$workArgs + education?: boolean | memberTraits$educationArgs + basicInfo?: boolean | memberTraits$basicInfoArgs + language?: boolean | memberTraits$languageArgs + checklist?: boolean | memberTraits$checklistArgs + personalization?: boolean | memberTraits$personalizationArgs + community?: boolean | memberTraits$communityArgs + member?: boolean | memberDefaultArgs + _count?: boolean | MemberTraitsCountOutputTypeDefaultArgs + } + export type memberTraitsIncludeCreateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + export type memberTraitsIncludeUpdateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + + export type $memberTraitsPayload = { + name: "memberTraits" + objects: { + device: Prisma.$memberTraitDevicePayload[] + software: Prisma.$memberTraitSoftwarePayload[] + serviceProvider: Prisma.$memberTraitServiceProviderPayload[] + work: Prisma.$memberTraitWorkPayload[] + education: Prisma.$memberTraitEducationPayload[] + basicInfo: Prisma.$memberTraitBasicInfoPayload[] + language: Prisma.$memberTraitLanguagePayload[] + checklist: Prisma.$memberTraitOnboardChecklistPayload[] + personalization: Prisma.$memberTraitPersonalizationPayload[] + community: Prisma.$memberTraitCommunityPayload[] + member: Prisma.$memberPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + userId: bigint + subscriptions: string[] + hobby: string[] + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraits"]> + composites: {} + } + + type memberTraitsGetPayload = $Result.GetResult + + type memberTraitsCountArgs = + Omit & { + select?: MemberTraitsCountAggregateInputType | true + } + + export interface memberTraitsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraits'], meta: { name: 'memberTraits' } } + /** + * Find zero or one MemberTraits that matches the filter. + * @param {memberTraitsFindUniqueArgs} args - Arguments to find a MemberTraits + * @example + * // Get one MemberTraits + * const memberTraits = await prisma.memberTraits.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraits that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitsFindUniqueOrThrowArgs} args - Arguments to find a MemberTraits + * @example + * // Get one MemberTraits + * const memberTraits = await prisma.memberTraits.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraits 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 {memberTraitsFindFirstArgs} args - Arguments to find a MemberTraits + * @example + * // Get one MemberTraits + * const memberTraits = await prisma.memberTraits.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraits 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 {memberTraitsFindFirstOrThrowArgs} args - Arguments to find a MemberTraits + * @example + * // Get one MemberTraits + * const memberTraits = await prisma.memberTraits.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraits 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 {memberTraitsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraits + * const memberTraits = await prisma.memberTraits.findMany() + * + * // Get first 10 MemberTraits + * const memberTraits = await prisma.memberTraits.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitsWithIdOnly = await prisma.memberTraits.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraits. + * @param {memberTraitsCreateArgs} args - Arguments to create a MemberTraits. + * @example + * // Create one MemberTraits + * const MemberTraits = await prisma.memberTraits.create({ + * data: { + * // ... data to create a MemberTraits + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraits. + * @param {memberTraitsCreateManyArgs} args - Arguments to create many MemberTraits. + * @example + * // Create many MemberTraits + * const memberTraits = await prisma.memberTraits.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraits and returns the data saved in the database. + * @param {memberTraitsCreateManyAndReturnArgs} args - Arguments to create many MemberTraits. + * @example + * // Create many MemberTraits + * const memberTraits = await prisma.memberTraits.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraits and only return the `id` + * const memberTraitsWithIdOnly = await prisma.memberTraits.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraits. + * @param {memberTraitsDeleteArgs} args - Arguments to delete one MemberTraits. + * @example + * // Delete one MemberTraits + * const MemberTraits = await prisma.memberTraits.delete({ + * where: { + * // ... filter to delete one MemberTraits + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraits. + * @param {memberTraitsUpdateArgs} args - Arguments to update one MemberTraits. + * @example + * // Update one MemberTraits + * const memberTraits = await prisma.memberTraits.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraits. + * @param {memberTraitsDeleteManyArgs} args - Arguments to filter MemberTraits to delete. + * @example + * // Delete a few MemberTraits + * const { count } = await prisma.memberTraits.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraits. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraits + * const memberTraits = await prisma.memberTraits.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraits and returns the data updated in the database. + * @param {memberTraitsUpdateManyAndReturnArgs} args - Arguments to update many MemberTraits. + * @example + * // Update many MemberTraits + * const memberTraits = await prisma.memberTraits.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraits and only return the `id` + * const memberTraitsWithIdOnly = await prisma.memberTraits.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraits. + * @param {memberTraitsUpsertArgs} args - Arguments to update or create a MemberTraits. + * @example + * // Update or create a MemberTraits + * const memberTraits = await prisma.memberTraits.upsert({ + * create: { + * // ... data to create a MemberTraits + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraits we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraits. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitsCountArgs} args - Arguments to filter MemberTraits to count. + * @example + * // Count the number of MemberTraits + * const count = await prisma.memberTraits.count({ + * where: { + * // ... the filter for the MemberTraits we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraits. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitsAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraits. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitsGroupByArgs} 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 memberTraitsGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitsGroupByArgs['orderBy'] } + : { orderBy?: memberTraitsGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitsGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraits model + */ + readonly fields: memberTraitsFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraits. + * 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__memberTraitsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + device = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + software = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + serviceProvider = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + work = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + education = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + basicInfo = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + language = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + checklist = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + personalization = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + community = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + member = {}>(args?: Subset>): Prisma__memberClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraits model + */ + interface memberTraitsFieldRefs { + readonly id: FieldRef<"memberTraits", 'BigInt'> + readonly userId: FieldRef<"memberTraits", 'BigInt'> + readonly subscriptions: FieldRef<"memberTraits", 'String[]'> + readonly hobby: FieldRef<"memberTraits", 'String[]'> + readonly createdAt: FieldRef<"memberTraits", 'DateTime'> + readonly createdBy: FieldRef<"memberTraits", 'String'> + readonly updatedAt: FieldRef<"memberTraits", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraits", 'String'> + } + + + // Custom InputTypes + /** + * memberTraits findUnique + */ + export type memberTraitsFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + /** + * Filter, which memberTraits to fetch. + */ + where: memberTraitsWhereUniqueInput + } + + /** + * memberTraits findUniqueOrThrow + */ + export type memberTraitsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + /** + * Filter, which memberTraits to fetch. + */ + where: memberTraitsWhereUniqueInput + } + + /** + * memberTraits findFirst + */ + export type memberTraitsFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + /** + * Filter, which memberTraits to fetch. + */ + where?: memberTraitsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraits to fetch. + */ + orderBy?: memberTraitsOrderByWithRelationInput | memberTraitsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraits. + */ + cursor?: memberTraitsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraits 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` memberTraits. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraits. + */ + distinct?: MemberTraitsScalarFieldEnum | MemberTraitsScalarFieldEnum[] + } + + /** + * memberTraits findFirstOrThrow + */ + export type memberTraitsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + /** + * Filter, which memberTraits to fetch. + */ + where?: memberTraitsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraits to fetch. + */ + orderBy?: memberTraitsOrderByWithRelationInput | memberTraitsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraits. + */ + cursor?: memberTraitsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraits 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` memberTraits. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraits. + */ + distinct?: MemberTraitsScalarFieldEnum | MemberTraitsScalarFieldEnum[] + } + + /** + * memberTraits findMany + */ + export type memberTraitsFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + /** + * Filter, which memberTraits to fetch. + */ + where?: memberTraitsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraits to fetch. + */ + orderBy?: memberTraitsOrderByWithRelationInput | memberTraitsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraits. + */ + cursor?: memberTraitsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraits 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` memberTraits. + */ + skip?: number + distinct?: MemberTraitsScalarFieldEnum | MemberTraitsScalarFieldEnum[] + } + + /** + * memberTraits create + */ + export type memberTraitsCreateArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + /** + * The data needed to create a memberTraits. + */ + data: XOR + } + + /** + * memberTraits createMany + */ + export type memberTraitsCreateManyArgs = { + /** + * The data used to create many memberTraits. + */ + data: memberTraitsCreateManyInput | memberTraitsCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraits createManyAndReturn + */ + export type memberTraitsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * The data used to create many memberTraits. + */ + data: memberTraitsCreateManyInput | memberTraitsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsIncludeCreateManyAndReturn | null + } + + /** + * memberTraits update + */ + export type memberTraitsUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + /** + * The data needed to update a memberTraits. + */ + data: XOR + /** + * Choose, which memberTraits to update. + */ + where: memberTraitsWhereUniqueInput + } + + /** + * memberTraits updateMany + */ + export type memberTraitsUpdateManyArgs = { + /** + * The data used to update memberTraits. + */ + data: XOR + /** + * Filter which memberTraits to update + */ + where?: memberTraitsWhereInput + /** + * Limit how many memberTraits to update. + */ + limit?: number + } + + /** + * memberTraits updateManyAndReturn + */ + export type memberTraitsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * The data used to update memberTraits. + */ + data: XOR + /** + * Filter which memberTraits to update + */ + where?: memberTraitsWhereInput + /** + * Limit how many memberTraits to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsIncludeUpdateManyAndReturn | null + } + + /** + * memberTraits upsert + */ + export type memberTraitsUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + /** + * The filter to search for the memberTraits to update in case it exists. + */ + where: memberTraitsWhereUniqueInput + /** + * In case the memberTraits found by the `where` argument doesn't exist, create a new memberTraits with this data. + */ + create: XOR + /** + * In case the memberTraits was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraits delete + */ + export type memberTraitsDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + /** + * Filter which memberTraits to delete. + */ + where: memberTraitsWhereUniqueInput + } + + /** + * memberTraits deleteMany + */ + export type memberTraitsDeleteManyArgs = { + /** + * Filter which memberTraits to delete + */ + where?: memberTraitsWhereInput + /** + * Limit how many memberTraits to delete. + */ + limit?: number + } + + /** + * memberTraits.device + */ + export type memberTraits$deviceArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + where?: memberTraitDeviceWhereInput + orderBy?: memberTraitDeviceOrderByWithRelationInput | memberTraitDeviceOrderByWithRelationInput[] + cursor?: memberTraitDeviceWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitDeviceScalarFieldEnum | MemberTraitDeviceScalarFieldEnum[] + } + + /** + * memberTraits.software + */ + export type memberTraits$softwareArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + where?: memberTraitSoftwareWhereInput + orderBy?: memberTraitSoftwareOrderByWithRelationInput | memberTraitSoftwareOrderByWithRelationInput[] + cursor?: memberTraitSoftwareWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitSoftwareScalarFieldEnum | MemberTraitSoftwareScalarFieldEnum[] + } + + /** + * memberTraits.serviceProvider + */ + export type memberTraits$serviceProviderArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + where?: memberTraitServiceProviderWhereInput + orderBy?: memberTraitServiceProviderOrderByWithRelationInput | memberTraitServiceProviderOrderByWithRelationInput[] + cursor?: memberTraitServiceProviderWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitServiceProviderScalarFieldEnum | MemberTraitServiceProviderScalarFieldEnum[] + } + + /** + * memberTraits.work + */ + export type memberTraits$workArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + where?: memberTraitWorkWhereInput + orderBy?: memberTraitWorkOrderByWithRelationInput | memberTraitWorkOrderByWithRelationInput[] + cursor?: memberTraitWorkWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitWorkScalarFieldEnum | MemberTraitWorkScalarFieldEnum[] + } + + /** + * memberTraits.education + */ + export type memberTraits$educationArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + where?: memberTraitEducationWhereInput + orderBy?: memberTraitEducationOrderByWithRelationInput | memberTraitEducationOrderByWithRelationInput[] + cursor?: memberTraitEducationWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitEducationScalarFieldEnum | MemberTraitEducationScalarFieldEnum[] + } + + /** + * memberTraits.basicInfo + */ + export type memberTraits$basicInfoArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + where?: memberTraitBasicInfoWhereInput + orderBy?: memberTraitBasicInfoOrderByWithRelationInput | memberTraitBasicInfoOrderByWithRelationInput[] + cursor?: memberTraitBasicInfoWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitBasicInfoScalarFieldEnum | MemberTraitBasicInfoScalarFieldEnum[] + } + + /** + * memberTraits.language + */ + export type memberTraits$languageArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + where?: memberTraitLanguageWhereInput + orderBy?: memberTraitLanguageOrderByWithRelationInput | memberTraitLanguageOrderByWithRelationInput[] + cursor?: memberTraitLanguageWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitLanguageScalarFieldEnum | MemberTraitLanguageScalarFieldEnum[] + } + + /** + * memberTraits.checklist + */ + export type memberTraits$checklistArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + where?: memberTraitOnboardChecklistWhereInput + orderBy?: memberTraitOnboardChecklistOrderByWithRelationInput | memberTraitOnboardChecklistOrderByWithRelationInput[] + cursor?: memberTraitOnboardChecklistWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitOnboardChecklistScalarFieldEnum | MemberTraitOnboardChecklistScalarFieldEnum[] + } + + /** + * memberTraits.personalization + */ + export type memberTraits$personalizationArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + where?: memberTraitPersonalizationWhereInput + orderBy?: memberTraitPersonalizationOrderByWithRelationInput | memberTraitPersonalizationOrderByWithRelationInput[] + cursor?: memberTraitPersonalizationWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitPersonalizationScalarFieldEnum | MemberTraitPersonalizationScalarFieldEnum[] + } + + /** + * memberTraits.community + */ + export type memberTraits$communityArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + where?: memberTraitCommunityWhereInput + orderBy?: memberTraitCommunityOrderByWithRelationInput | memberTraitCommunityOrderByWithRelationInput[] + cursor?: memberTraitCommunityWhereUniqueInput + take?: number + skip?: number + distinct?: MemberTraitCommunityScalarFieldEnum | MemberTraitCommunityScalarFieldEnum[] + } + + /** + * memberTraits without action + */ + export type memberTraitsDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraits + */ + select?: memberTraitsSelect | null + /** + * Omit specific fields from the memberTraits + */ + omit?: memberTraitsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitsInclude | null + } + + + /** + * Model memberTraitDevice + */ + + export type AggregateMemberTraitDevice = { + _count: MemberTraitDeviceCountAggregateOutputType | null + _avg: MemberTraitDeviceAvgAggregateOutputType | null + _sum: MemberTraitDeviceSumAggregateOutputType | null + _min: MemberTraitDeviceMinAggregateOutputType | null + _max: MemberTraitDeviceMaxAggregateOutputType | null + } + + export type MemberTraitDeviceAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + } + + export type MemberTraitDeviceSumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + } + + export type MemberTraitDeviceMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + deviceType: $Enums.DeviceType | null + manufacturer: string | null + model: string | null + operatingSystem: string | null + osVersion: string | null + osLanguage: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitDeviceMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + deviceType: $Enums.DeviceType | null + manufacturer: string | null + model: string | null + operatingSystem: string | null + osVersion: string | null + osLanguage: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitDeviceCountAggregateOutputType = { + id: number + memberTraitId: number + deviceType: number + manufacturer: number + model: number + operatingSystem: number + osVersion: number + osLanguage: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitDeviceAvgAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitDeviceSumAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitDeviceMinAggregateInputType = { + id?: true + memberTraitId?: true + deviceType?: true + manufacturer?: true + model?: true + operatingSystem?: true + osVersion?: true + osLanguage?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitDeviceMaxAggregateInputType = { + id?: true + memberTraitId?: true + deviceType?: true + manufacturer?: true + model?: true + operatingSystem?: true + osVersion?: true + osLanguage?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitDeviceCountAggregateInputType = { + id?: true + memberTraitId?: true + deviceType?: true + manufacturer?: true + model?: true + operatingSystem?: true + osVersion?: true + osLanguage?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitDeviceAggregateArgs = { + /** + * Filter which memberTraitDevice to aggregate. + */ + where?: memberTraitDeviceWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitDevices to fetch. + */ + orderBy?: memberTraitDeviceOrderByWithRelationInput | memberTraitDeviceOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitDeviceWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitDevices 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` memberTraitDevices. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitDevices + **/ + _count?: true | MemberTraitDeviceCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitDeviceAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitDeviceSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitDeviceMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitDeviceMaxAggregateInputType + } + + export type GetMemberTraitDeviceAggregateType = { + [P in keyof T & keyof AggregateMemberTraitDevice]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitDeviceGroupByArgs = { + where?: memberTraitDeviceWhereInput + orderBy?: memberTraitDeviceOrderByWithAggregationInput | memberTraitDeviceOrderByWithAggregationInput[] + by: MemberTraitDeviceScalarFieldEnum[] | MemberTraitDeviceScalarFieldEnum + having?: memberTraitDeviceScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitDeviceCountAggregateInputType | true + _avg?: MemberTraitDeviceAvgAggregateInputType + _sum?: MemberTraitDeviceSumAggregateInputType + _min?: MemberTraitDeviceMinAggregateInputType + _max?: MemberTraitDeviceMaxAggregateInputType + } + + export type MemberTraitDeviceGroupByOutputType = { + id: bigint + memberTraitId: bigint + deviceType: $Enums.DeviceType + manufacturer: string + model: string + operatingSystem: string + osVersion: string | null + osLanguage: string | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitDeviceCountAggregateOutputType | null + _avg: MemberTraitDeviceAvgAggregateOutputType | null + _sum: MemberTraitDeviceSumAggregateOutputType | null + _min: MemberTraitDeviceMinAggregateOutputType | null + _max: MemberTraitDeviceMaxAggregateOutputType | null + } + + type GetMemberTraitDeviceGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitDeviceGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitDeviceSelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + deviceType?: boolean + manufacturer?: boolean + model?: boolean + operatingSystem?: boolean + osVersion?: boolean + osLanguage?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitDevice"]> + + export type memberTraitDeviceSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + deviceType?: boolean + manufacturer?: boolean + model?: boolean + operatingSystem?: boolean + osVersion?: boolean + osLanguage?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitDevice"]> + + export type memberTraitDeviceSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + deviceType?: boolean + manufacturer?: boolean + model?: boolean + operatingSystem?: boolean + osVersion?: boolean + osLanguage?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitDevice"]> + + export type memberTraitDeviceSelectScalar = { + id?: boolean + memberTraitId?: boolean + deviceType?: boolean + manufacturer?: boolean + model?: boolean + operatingSystem?: boolean + osVersion?: boolean + osLanguage?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitDeviceOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "deviceType" | "manufacturer" | "model" | "operatingSystem" | "osVersion" | "osLanguage" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitDevice"]> + export type memberTraitDeviceInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitDeviceIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitDeviceIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitDevicePayload = { + name: "memberTraitDevice" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + deviceType: $Enums.DeviceType + manufacturer: string + model: string + operatingSystem: string + osVersion: string | null + osLanguage: string | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitDevice"]> + composites: {} + } + + type memberTraitDeviceGetPayload = $Result.GetResult + + type memberTraitDeviceCountArgs = + Omit & { + select?: MemberTraitDeviceCountAggregateInputType | true + } + + export interface memberTraitDeviceDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitDevice'], meta: { name: 'memberTraitDevice' } } + /** + * Find zero or one MemberTraitDevice that matches the filter. + * @param {memberTraitDeviceFindUniqueArgs} args - Arguments to find a MemberTraitDevice + * @example + * // Get one MemberTraitDevice + * const memberTraitDevice = await prisma.memberTraitDevice.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitDeviceClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitDevice that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitDeviceFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitDevice + * @example + * // Get one MemberTraitDevice + * const memberTraitDevice = await prisma.memberTraitDevice.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitDeviceClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitDevice 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 {memberTraitDeviceFindFirstArgs} args - Arguments to find a MemberTraitDevice + * @example + * // Get one MemberTraitDevice + * const memberTraitDevice = await prisma.memberTraitDevice.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitDeviceClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitDevice 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 {memberTraitDeviceFindFirstOrThrowArgs} args - Arguments to find a MemberTraitDevice + * @example + * // Get one MemberTraitDevice + * const memberTraitDevice = await prisma.memberTraitDevice.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitDeviceClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitDevices 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 {memberTraitDeviceFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitDevices + * const memberTraitDevices = await prisma.memberTraitDevice.findMany() + * + * // Get first 10 MemberTraitDevices + * const memberTraitDevices = await prisma.memberTraitDevice.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitDeviceWithIdOnly = await prisma.memberTraitDevice.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitDevice. + * @param {memberTraitDeviceCreateArgs} args - Arguments to create a MemberTraitDevice. + * @example + * // Create one MemberTraitDevice + * const MemberTraitDevice = await prisma.memberTraitDevice.create({ + * data: { + * // ... data to create a MemberTraitDevice + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitDeviceClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitDevices. + * @param {memberTraitDeviceCreateManyArgs} args - Arguments to create many MemberTraitDevices. + * @example + * // Create many MemberTraitDevices + * const memberTraitDevice = await prisma.memberTraitDevice.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitDevices and returns the data saved in the database. + * @param {memberTraitDeviceCreateManyAndReturnArgs} args - Arguments to create many MemberTraitDevices. + * @example + * // Create many MemberTraitDevices + * const memberTraitDevice = await prisma.memberTraitDevice.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitDevices and only return the `id` + * const memberTraitDeviceWithIdOnly = await prisma.memberTraitDevice.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitDevice. + * @param {memberTraitDeviceDeleteArgs} args - Arguments to delete one MemberTraitDevice. + * @example + * // Delete one MemberTraitDevice + * const MemberTraitDevice = await prisma.memberTraitDevice.delete({ + * where: { + * // ... filter to delete one MemberTraitDevice + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitDeviceClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitDevice. + * @param {memberTraitDeviceUpdateArgs} args - Arguments to update one MemberTraitDevice. + * @example + * // Update one MemberTraitDevice + * const memberTraitDevice = await prisma.memberTraitDevice.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitDeviceClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitDevices. + * @param {memberTraitDeviceDeleteManyArgs} args - Arguments to filter MemberTraitDevices to delete. + * @example + * // Delete a few MemberTraitDevices + * const { count } = await prisma.memberTraitDevice.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitDevices. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitDeviceUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitDevices + * const memberTraitDevice = await prisma.memberTraitDevice.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitDevices and returns the data updated in the database. + * @param {memberTraitDeviceUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitDevices. + * @example + * // Update many MemberTraitDevices + * const memberTraitDevice = await prisma.memberTraitDevice.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitDevices and only return the `id` + * const memberTraitDeviceWithIdOnly = await prisma.memberTraitDevice.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitDevice. + * @param {memberTraitDeviceUpsertArgs} args - Arguments to update or create a MemberTraitDevice. + * @example + * // Update or create a MemberTraitDevice + * const memberTraitDevice = await prisma.memberTraitDevice.upsert({ + * create: { + * // ... data to create a MemberTraitDevice + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitDevice we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitDeviceClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitDevices. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitDeviceCountArgs} args - Arguments to filter MemberTraitDevices to count. + * @example + * // Count the number of MemberTraitDevices + * const count = await prisma.memberTraitDevice.count({ + * where: { + * // ... the filter for the MemberTraitDevices we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitDevice. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitDeviceAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitDevice. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitDeviceGroupByArgs} 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 memberTraitDeviceGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitDeviceGroupByArgs['orderBy'] } + : { orderBy?: memberTraitDeviceGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitDeviceGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitDevice model + */ + readonly fields: memberTraitDeviceFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitDevice. + * 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__memberTraitDeviceClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitDevice model + */ + interface memberTraitDeviceFieldRefs { + readonly id: FieldRef<"memberTraitDevice", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitDevice", 'BigInt'> + readonly deviceType: FieldRef<"memberTraitDevice", 'DeviceType'> + readonly manufacturer: FieldRef<"memberTraitDevice", 'String'> + readonly model: FieldRef<"memberTraitDevice", 'String'> + readonly operatingSystem: FieldRef<"memberTraitDevice", 'String'> + readonly osVersion: FieldRef<"memberTraitDevice", 'String'> + readonly osLanguage: FieldRef<"memberTraitDevice", 'String'> + readonly createdAt: FieldRef<"memberTraitDevice", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitDevice", 'String'> + readonly updatedAt: FieldRef<"memberTraitDevice", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitDevice", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitDevice findUnique + */ + export type memberTraitDeviceFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + /** + * Filter, which memberTraitDevice to fetch. + */ + where: memberTraitDeviceWhereUniqueInput + } + + /** + * memberTraitDevice findUniqueOrThrow + */ + export type memberTraitDeviceFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + /** + * Filter, which memberTraitDevice to fetch. + */ + where: memberTraitDeviceWhereUniqueInput + } + + /** + * memberTraitDevice findFirst + */ + export type memberTraitDeviceFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + /** + * Filter, which memberTraitDevice to fetch. + */ + where?: memberTraitDeviceWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitDevices to fetch. + */ + orderBy?: memberTraitDeviceOrderByWithRelationInput | memberTraitDeviceOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitDevices. + */ + cursor?: memberTraitDeviceWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitDevices 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` memberTraitDevices. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitDevices. + */ + distinct?: MemberTraitDeviceScalarFieldEnum | MemberTraitDeviceScalarFieldEnum[] + } + + /** + * memberTraitDevice findFirstOrThrow + */ + export type memberTraitDeviceFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + /** + * Filter, which memberTraitDevice to fetch. + */ + where?: memberTraitDeviceWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitDevices to fetch. + */ + orderBy?: memberTraitDeviceOrderByWithRelationInput | memberTraitDeviceOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitDevices. + */ + cursor?: memberTraitDeviceWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitDevices 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` memberTraitDevices. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitDevices. + */ + distinct?: MemberTraitDeviceScalarFieldEnum | MemberTraitDeviceScalarFieldEnum[] + } + + /** + * memberTraitDevice findMany + */ + export type memberTraitDeviceFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + /** + * Filter, which memberTraitDevices to fetch. + */ + where?: memberTraitDeviceWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitDevices to fetch. + */ + orderBy?: memberTraitDeviceOrderByWithRelationInput | memberTraitDeviceOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitDevices. + */ + cursor?: memberTraitDeviceWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitDevices 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` memberTraitDevices. + */ + skip?: number + distinct?: MemberTraitDeviceScalarFieldEnum | MemberTraitDeviceScalarFieldEnum[] + } + + /** + * memberTraitDevice create + */ + export type memberTraitDeviceCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + /** + * The data needed to create a memberTraitDevice. + */ + data: XOR + } + + /** + * memberTraitDevice createMany + */ + export type memberTraitDeviceCreateManyArgs = { + /** + * The data used to create many memberTraitDevices. + */ + data: memberTraitDeviceCreateManyInput | memberTraitDeviceCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitDevice createManyAndReturn + */ + export type memberTraitDeviceCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * The data used to create many memberTraitDevices. + */ + data: memberTraitDeviceCreateManyInput | memberTraitDeviceCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceIncludeCreateManyAndReturn | null + } + + /** + * memberTraitDevice update + */ + export type memberTraitDeviceUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + /** + * The data needed to update a memberTraitDevice. + */ + data: XOR + /** + * Choose, which memberTraitDevice to update. + */ + where: memberTraitDeviceWhereUniqueInput + } + + /** + * memberTraitDevice updateMany + */ + export type memberTraitDeviceUpdateManyArgs = { + /** + * The data used to update memberTraitDevices. + */ + data: XOR + /** + * Filter which memberTraitDevices to update + */ + where?: memberTraitDeviceWhereInput + /** + * Limit how many memberTraitDevices to update. + */ + limit?: number + } + + /** + * memberTraitDevice updateManyAndReturn + */ + export type memberTraitDeviceUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * The data used to update memberTraitDevices. + */ + data: XOR + /** + * Filter which memberTraitDevices to update + */ + where?: memberTraitDeviceWhereInput + /** + * Limit how many memberTraitDevices to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitDevice upsert + */ + export type memberTraitDeviceUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + /** + * The filter to search for the memberTraitDevice to update in case it exists. + */ + where: memberTraitDeviceWhereUniqueInput + /** + * In case the memberTraitDevice found by the `where` argument doesn't exist, create a new memberTraitDevice with this data. + */ + create: XOR + /** + * In case the memberTraitDevice was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitDevice delete + */ + export type memberTraitDeviceDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + /** + * Filter which memberTraitDevice to delete. + */ + where: memberTraitDeviceWhereUniqueInput + } + + /** + * memberTraitDevice deleteMany + */ + export type memberTraitDeviceDeleteManyArgs = { + /** + * Filter which memberTraitDevices to delete + */ + where?: memberTraitDeviceWhereInput + /** + * Limit how many memberTraitDevices to delete. + */ + limit?: number + } + + /** + * memberTraitDevice without action + */ + export type memberTraitDeviceDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitDevice + */ + select?: memberTraitDeviceSelect | null + /** + * Omit specific fields from the memberTraitDevice + */ + omit?: memberTraitDeviceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitDeviceInclude | null + } + + + /** + * Model memberTraitSoftware + */ + + export type AggregateMemberTraitSoftware = { + _count: MemberTraitSoftwareCountAggregateOutputType | null + _avg: MemberTraitSoftwareAvgAggregateOutputType | null + _sum: MemberTraitSoftwareSumAggregateOutputType | null + _min: MemberTraitSoftwareMinAggregateOutputType | null + _max: MemberTraitSoftwareMaxAggregateOutputType | null + } + + export type MemberTraitSoftwareAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + } + + export type MemberTraitSoftwareSumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + } + + export type MemberTraitSoftwareMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + softwareType: $Enums.SoftwareType | null + name: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitSoftwareMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + softwareType: $Enums.SoftwareType | null + name: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitSoftwareCountAggregateOutputType = { + id: number + memberTraitId: number + softwareType: number + name: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitSoftwareAvgAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitSoftwareSumAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitSoftwareMinAggregateInputType = { + id?: true + memberTraitId?: true + softwareType?: true + name?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitSoftwareMaxAggregateInputType = { + id?: true + memberTraitId?: true + softwareType?: true + name?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitSoftwareCountAggregateInputType = { + id?: true + memberTraitId?: true + softwareType?: true + name?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitSoftwareAggregateArgs = { + /** + * Filter which memberTraitSoftware to aggregate. + */ + where?: memberTraitSoftwareWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitSoftwares to fetch. + */ + orderBy?: memberTraitSoftwareOrderByWithRelationInput | memberTraitSoftwareOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitSoftwareWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitSoftwares 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` memberTraitSoftwares. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitSoftwares + **/ + _count?: true | MemberTraitSoftwareCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitSoftwareAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitSoftwareSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitSoftwareMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitSoftwareMaxAggregateInputType + } + + export type GetMemberTraitSoftwareAggregateType = { + [P in keyof T & keyof AggregateMemberTraitSoftware]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitSoftwareGroupByArgs = { + where?: memberTraitSoftwareWhereInput + orderBy?: memberTraitSoftwareOrderByWithAggregationInput | memberTraitSoftwareOrderByWithAggregationInput[] + by: MemberTraitSoftwareScalarFieldEnum[] | MemberTraitSoftwareScalarFieldEnum + having?: memberTraitSoftwareScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitSoftwareCountAggregateInputType | true + _avg?: MemberTraitSoftwareAvgAggregateInputType + _sum?: MemberTraitSoftwareSumAggregateInputType + _min?: MemberTraitSoftwareMinAggregateInputType + _max?: MemberTraitSoftwareMaxAggregateInputType + } + + export type MemberTraitSoftwareGroupByOutputType = { + id: bigint + memberTraitId: bigint + softwareType: $Enums.SoftwareType + name: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitSoftwareCountAggregateOutputType | null + _avg: MemberTraitSoftwareAvgAggregateOutputType | null + _sum: MemberTraitSoftwareSumAggregateOutputType | null + _min: MemberTraitSoftwareMinAggregateOutputType | null + _max: MemberTraitSoftwareMaxAggregateOutputType | null + } + + type GetMemberTraitSoftwareGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitSoftwareGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitSoftwareSelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + softwareType?: boolean + name?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitSoftware"]> + + export type memberTraitSoftwareSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + softwareType?: boolean + name?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitSoftware"]> + + export type memberTraitSoftwareSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + softwareType?: boolean + name?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitSoftware"]> + + export type memberTraitSoftwareSelectScalar = { + id?: boolean + memberTraitId?: boolean + softwareType?: boolean + name?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitSoftwareOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "softwareType" | "name" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitSoftware"]> + export type memberTraitSoftwareInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitSoftwareIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitSoftwareIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitSoftwarePayload = { + name: "memberTraitSoftware" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + softwareType: $Enums.SoftwareType + name: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitSoftware"]> + composites: {} + } + + type memberTraitSoftwareGetPayload = $Result.GetResult + + type memberTraitSoftwareCountArgs = + Omit & { + select?: MemberTraitSoftwareCountAggregateInputType | true + } + + export interface memberTraitSoftwareDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitSoftware'], meta: { name: 'memberTraitSoftware' } } + /** + * Find zero or one MemberTraitSoftware that matches the filter. + * @param {memberTraitSoftwareFindUniqueArgs} args - Arguments to find a MemberTraitSoftware + * @example + * // Get one MemberTraitSoftware + * const memberTraitSoftware = await prisma.memberTraitSoftware.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitSoftwareClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitSoftware that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitSoftwareFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitSoftware + * @example + * // Get one MemberTraitSoftware + * const memberTraitSoftware = await prisma.memberTraitSoftware.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitSoftwareClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitSoftware 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 {memberTraitSoftwareFindFirstArgs} args - Arguments to find a MemberTraitSoftware + * @example + * // Get one MemberTraitSoftware + * const memberTraitSoftware = await prisma.memberTraitSoftware.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitSoftwareClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitSoftware 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 {memberTraitSoftwareFindFirstOrThrowArgs} args - Arguments to find a MemberTraitSoftware + * @example + * // Get one MemberTraitSoftware + * const memberTraitSoftware = await prisma.memberTraitSoftware.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitSoftwareClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitSoftwares 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 {memberTraitSoftwareFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitSoftwares + * const memberTraitSoftwares = await prisma.memberTraitSoftware.findMany() + * + * // Get first 10 MemberTraitSoftwares + * const memberTraitSoftwares = await prisma.memberTraitSoftware.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitSoftwareWithIdOnly = await prisma.memberTraitSoftware.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitSoftware. + * @param {memberTraitSoftwareCreateArgs} args - Arguments to create a MemberTraitSoftware. + * @example + * // Create one MemberTraitSoftware + * const MemberTraitSoftware = await prisma.memberTraitSoftware.create({ + * data: { + * // ... data to create a MemberTraitSoftware + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitSoftwareClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitSoftwares. + * @param {memberTraitSoftwareCreateManyArgs} args - Arguments to create many MemberTraitSoftwares. + * @example + * // Create many MemberTraitSoftwares + * const memberTraitSoftware = await prisma.memberTraitSoftware.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitSoftwares and returns the data saved in the database. + * @param {memberTraitSoftwareCreateManyAndReturnArgs} args - Arguments to create many MemberTraitSoftwares. + * @example + * // Create many MemberTraitSoftwares + * const memberTraitSoftware = await prisma.memberTraitSoftware.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitSoftwares and only return the `id` + * const memberTraitSoftwareWithIdOnly = await prisma.memberTraitSoftware.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitSoftware. + * @param {memberTraitSoftwareDeleteArgs} args - Arguments to delete one MemberTraitSoftware. + * @example + * // Delete one MemberTraitSoftware + * const MemberTraitSoftware = await prisma.memberTraitSoftware.delete({ + * where: { + * // ... filter to delete one MemberTraitSoftware + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitSoftwareClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitSoftware. + * @param {memberTraitSoftwareUpdateArgs} args - Arguments to update one MemberTraitSoftware. + * @example + * // Update one MemberTraitSoftware + * const memberTraitSoftware = await prisma.memberTraitSoftware.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitSoftwareClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitSoftwares. + * @param {memberTraitSoftwareDeleteManyArgs} args - Arguments to filter MemberTraitSoftwares to delete. + * @example + * // Delete a few MemberTraitSoftwares + * const { count } = await prisma.memberTraitSoftware.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitSoftwares. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitSoftwareUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitSoftwares + * const memberTraitSoftware = await prisma.memberTraitSoftware.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitSoftwares and returns the data updated in the database. + * @param {memberTraitSoftwareUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitSoftwares. + * @example + * // Update many MemberTraitSoftwares + * const memberTraitSoftware = await prisma.memberTraitSoftware.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitSoftwares and only return the `id` + * const memberTraitSoftwareWithIdOnly = await prisma.memberTraitSoftware.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitSoftware. + * @param {memberTraitSoftwareUpsertArgs} args - Arguments to update or create a MemberTraitSoftware. + * @example + * // Update or create a MemberTraitSoftware + * const memberTraitSoftware = await prisma.memberTraitSoftware.upsert({ + * create: { + * // ... data to create a MemberTraitSoftware + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitSoftware we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitSoftwareClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitSoftwares. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitSoftwareCountArgs} args - Arguments to filter MemberTraitSoftwares to count. + * @example + * // Count the number of MemberTraitSoftwares + * const count = await prisma.memberTraitSoftware.count({ + * where: { + * // ... the filter for the MemberTraitSoftwares we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitSoftware. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitSoftwareAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitSoftware. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitSoftwareGroupByArgs} 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 memberTraitSoftwareGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitSoftwareGroupByArgs['orderBy'] } + : { orderBy?: memberTraitSoftwareGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitSoftwareGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitSoftware model + */ + readonly fields: memberTraitSoftwareFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitSoftware. + * 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__memberTraitSoftwareClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitSoftware model + */ + interface memberTraitSoftwareFieldRefs { + readonly id: FieldRef<"memberTraitSoftware", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitSoftware", 'BigInt'> + readonly softwareType: FieldRef<"memberTraitSoftware", 'SoftwareType'> + readonly name: FieldRef<"memberTraitSoftware", 'String'> + readonly createdAt: FieldRef<"memberTraitSoftware", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitSoftware", 'String'> + readonly updatedAt: FieldRef<"memberTraitSoftware", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitSoftware", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitSoftware findUnique + */ + export type memberTraitSoftwareFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + /** + * Filter, which memberTraitSoftware to fetch. + */ + where: memberTraitSoftwareWhereUniqueInput + } + + /** + * memberTraitSoftware findUniqueOrThrow + */ + export type memberTraitSoftwareFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + /** + * Filter, which memberTraitSoftware to fetch. + */ + where: memberTraitSoftwareWhereUniqueInput + } + + /** + * memberTraitSoftware findFirst + */ + export type memberTraitSoftwareFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + /** + * Filter, which memberTraitSoftware to fetch. + */ + where?: memberTraitSoftwareWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitSoftwares to fetch. + */ + orderBy?: memberTraitSoftwareOrderByWithRelationInput | memberTraitSoftwareOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitSoftwares. + */ + cursor?: memberTraitSoftwareWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitSoftwares 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` memberTraitSoftwares. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitSoftwares. + */ + distinct?: MemberTraitSoftwareScalarFieldEnum | MemberTraitSoftwareScalarFieldEnum[] + } + + /** + * memberTraitSoftware findFirstOrThrow + */ + export type memberTraitSoftwareFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + /** + * Filter, which memberTraitSoftware to fetch. + */ + where?: memberTraitSoftwareWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitSoftwares to fetch. + */ + orderBy?: memberTraitSoftwareOrderByWithRelationInput | memberTraitSoftwareOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitSoftwares. + */ + cursor?: memberTraitSoftwareWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitSoftwares 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` memberTraitSoftwares. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitSoftwares. + */ + distinct?: MemberTraitSoftwareScalarFieldEnum | MemberTraitSoftwareScalarFieldEnum[] + } + + /** + * memberTraitSoftware findMany + */ + export type memberTraitSoftwareFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + /** + * Filter, which memberTraitSoftwares to fetch. + */ + where?: memberTraitSoftwareWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitSoftwares to fetch. + */ + orderBy?: memberTraitSoftwareOrderByWithRelationInput | memberTraitSoftwareOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitSoftwares. + */ + cursor?: memberTraitSoftwareWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitSoftwares 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` memberTraitSoftwares. + */ + skip?: number + distinct?: MemberTraitSoftwareScalarFieldEnum | MemberTraitSoftwareScalarFieldEnum[] + } + + /** + * memberTraitSoftware create + */ + export type memberTraitSoftwareCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + /** + * The data needed to create a memberTraitSoftware. + */ + data: XOR + } + + /** + * memberTraitSoftware createMany + */ + export type memberTraitSoftwareCreateManyArgs = { + /** + * The data used to create many memberTraitSoftwares. + */ + data: memberTraitSoftwareCreateManyInput | memberTraitSoftwareCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitSoftware createManyAndReturn + */ + export type memberTraitSoftwareCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * The data used to create many memberTraitSoftwares. + */ + data: memberTraitSoftwareCreateManyInput | memberTraitSoftwareCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareIncludeCreateManyAndReturn | null + } + + /** + * memberTraitSoftware update + */ + export type memberTraitSoftwareUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + /** + * The data needed to update a memberTraitSoftware. + */ + data: XOR + /** + * Choose, which memberTraitSoftware to update. + */ + where: memberTraitSoftwareWhereUniqueInput + } + + /** + * memberTraitSoftware updateMany + */ + export type memberTraitSoftwareUpdateManyArgs = { + /** + * The data used to update memberTraitSoftwares. + */ + data: XOR + /** + * Filter which memberTraitSoftwares to update + */ + where?: memberTraitSoftwareWhereInput + /** + * Limit how many memberTraitSoftwares to update. + */ + limit?: number + } + + /** + * memberTraitSoftware updateManyAndReturn + */ + export type memberTraitSoftwareUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * The data used to update memberTraitSoftwares. + */ + data: XOR + /** + * Filter which memberTraitSoftwares to update + */ + where?: memberTraitSoftwareWhereInput + /** + * Limit how many memberTraitSoftwares to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitSoftware upsert + */ + export type memberTraitSoftwareUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + /** + * The filter to search for the memberTraitSoftware to update in case it exists. + */ + where: memberTraitSoftwareWhereUniqueInput + /** + * In case the memberTraitSoftware found by the `where` argument doesn't exist, create a new memberTraitSoftware with this data. + */ + create: XOR + /** + * In case the memberTraitSoftware was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitSoftware delete + */ + export type memberTraitSoftwareDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + /** + * Filter which memberTraitSoftware to delete. + */ + where: memberTraitSoftwareWhereUniqueInput + } + + /** + * memberTraitSoftware deleteMany + */ + export type memberTraitSoftwareDeleteManyArgs = { + /** + * Filter which memberTraitSoftwares to delete + */ + where?: memberTraitSoftwareWhereInput + /** + * Limit how many memberTraitSoftwares to delete. + */ + limit?: number + } + + /** + * memberTraitSoftware without action + */ + export type memberTraitSoftwareDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitSoftware + */ + select?: memberTraitSoftwareSelect | null + /** + * Omit specific fields from the memberTraitSoftware + */ + omit?: memberTraitSoftwareOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitSoftwareInclude | null + } + + + /** + * Model memberTraitServiceProvider + */ + + export type AggregateMemberTraitServiceProvider = { + _count: MemberTraitServiceProviderCountAggregateOutputType | null + _avg: MemberTraitServiceProviderAvgAggregateOutputType | null + _sum: MemberTraitServiceProviderSumAggregateOutputType | null + _min: MemberTraitServiceProviderMinAggregateOutputType | null + _max: MemberTraitServiceProviderMaxAggregateOutputType | null + } + + export type MemberTraitServiceProviderAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + } + + export type MemberTraitServiceProviderSumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + } + + export type MemberTraitServiceProviderMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + type: $Enums.ServiceProviderType | null + name: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitServiceProviderMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + type: $Enums.ServiceProviderType | null + name: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitServiceProviderCountAggregateOutputType = { + id: number + memberTraitId: number + type: number + name: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitServiceProviderAvgAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitServiceProviderSumAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitServiceProviderMinAggregateInputType = { + id?: true + memberTraitId?: true + type?: true + name?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitServiceProviderMaxAggregateInputType = { + id?: true + memberTraitId?: true + type?: true + name?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitServiceProviderCountAggregateInputType = { + id?: true + memberTraitId?: true + type?: true + name?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitServiceProviderAggregateArgs = { + /** + * Filter which memberTraitServiceProvider to aggregate. + */ + where?: memberTraitServiceProviderWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitServiceProviders to fetch. + */ + orderBy?: memberTraitServiceProviderOrderByWithRelationInput | memberTraitServiceProviderOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitServiceProviderWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitServiceProviders 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` memberTraitServiceProviders. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitServiceProviders + **/ + _count?: true | MemberTraitServiceProviderCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitServiceProviderAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitServiceProviderSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitServiceProviderMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitServiceProviderMaxAggregateInputType + } + + export type GetMemberTraitServiceProviderAggregateType = { + [P in keyof T & keyof AggregateMemberTraitServiceProvider]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitServiceProviderGroupByArgs = { + where?: memberTraitServiceProviderWhereInput + orderBy?: memberTraitServiceProviderOrderByWithAggregationInput | memberTraitServiceProviderOrderByWithAggregationInput[] + by: MemberTraitServiceProviderScalarFieldEnum[] | MemberTraitServiceProviderScalarFieldEnum + having?: memberTraitServiceProviderScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitServiceProviderCountAggregateInputType | true + _avg?: MemberTraitServiceProviderAvgAggregateInputType + _sum?: MemberTraitServiceProviderSumAggregateInputType + _min?: MemberTraitServiceProviderMinAggregateInputType + _max?: MemberTraitServiceProviderMaxAggregateInputType + } + + export type MemberTraitServiceProviderGroupByOutputType = { + id: bigint + memberTraitId: bigint + type: $Enums.ServiceProviderType + name: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitServiceProviderCountAggregateOutputType | null + _avg: MemberTraitServiceProviderAvgAggregateOutputType | null + _sum: MemberTraitServiceProviderSumAggregateOutputType | null + _min: MemberTraitServiceProviderMinAggregateOutputType | null + _max: MemberTraitServiceProviderMaxAggregateOutputType | null + } + + type GetMemberTraitServiceProviderGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitServiceProviderGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitServiceProviderSelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + type?: boolean + name?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitServiceProvider"]> + + export type memberTraitServiceProviderSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + type?: boolean + name?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitServiceProvider"]> + + export type memberTraitServiceProviderSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + type?: boolean + name?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitServiceProvider"]> + + export type memberTraitServiceProviderSelectScalar = { + id?: boolean + memberTraitId?: boolean + type?: boolean + name?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitServiceProviderOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "type" | "name" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitServiceProvider"]> + export type memberTraitServiceProviderInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitServiceProviderIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitServiceProviderIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitServiceProviderPayload = { + name: "memberTraitServiceProvider" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + type: $Enums.ServiceProviderType + name: string + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitServiceProvider"]> + composites: {} + } + + type memberTraitServiceProviderGetPayload = $Result.GetResult + + type memberTraitServiceProviderCountArgs = + Omit & { + select?: MemberTraitServiceProviderCountAggregateInputType | true + } + + export interface memberTraitServiceProviderDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitServiceProvider'], meta: { name: 'memberTraitServiceProvider' } } + /** + * Find zero or one MemberTraitServiceProvider that matches the filter. + * @param {memberTraitServiceProviderFindUniqueArgs} args - Arguments to find a MemberTraitServiceProvider + * @example + * // Get one MemberTraitServiceProvider + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitServiceProviderClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitServiceProvider that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitServiceProviderFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitServiceProvider + * @example + * // Get one MemberTraitServiceProvider + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitServiceProviderClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitServiceProvider 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 {memberTraitServiceProviderFindFirstArgs} args - Arguments to find a MemberTraitServiceProvider + * @example + * // Get one MemberTraitServiceProvider + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitServiceProviderClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitServiceProvider 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 {memberTraitServiceProviderFindFirstOrThrowArgs} args - Arguments to find a MemberTraitServiceProvider + * @example + * // Get one MemberTraitServiceProvider + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitServiceProviderClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitServiceProviders 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 {memberTraitServiceProviderFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitServiceProviders + * const memberTraitServiceProviders = await prisma.memberTraitServiceProvider.findMany() + * + * // Get first 10 MemberTraitServiceProviders + * const memberTraitServiceProviders = await prisma.memberTraitServiceProvider.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitServiceProviderWithIdOnly = await prisma.memberTraitServiceProvider.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitServiceProvider. + * @param {memberTraitServiceProviderCreateArgs} args - Arguments to create a MemberTraitServiceProvider. + * @example + * // Create one MemberTraitServiceProvider + * const MemberTraitServiceProvider = await prisma.memberTraitServiceProvider.create({ + * data: { + * // ... data to create a MemberTraitServiceProvider + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitServiceProviderClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitServiceProviders. + * @param {memberTraitServiceProviderCreateManyArgs} args - Arguments to create many MemberTraitServiceProviders. + * @example + * // Create many MemberTraitServiceProviders + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitServiceProviders and returns the data saved in the database. + * @param {memberTraitServiceProviderCreateManyAndReturnArgs} args - Arguments to create many MemberTraitServiceProviders. + * @example + * // Create many MemberTraitServiceProviders + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitServiceProviders and only return the `id` + * const memberTraitServiceProviderWithIdOnly = await prisma.memberTraitServiceProvider.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitServiceProvider. + * @param {memberTraitServiceProviderDeleteArgs} args - Arguments to delete one MemberTraitServiceProvider. + * @example + * // Delete one MemberTraitServiceProvider + * const MemberTraitServiceProvider = await prisma.memberTraitServiceProvider.delete({ + * where: { + * // ... filter to delete one MemberTraitServiceProvider + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitServiceProviderClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitServiceProvider. + * @param {memberTraitServiceProviderUpdateArgs} args - Arguments to update one MemberTraitServiceProvider. + * @example + * // Update one MemberTraitServiceProvider + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitServiceProviderClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitServiceProviders. + * @param {memberTraitServiceProviderDeleteManyArgs} args - Arguments to filter MemberTraitServiceProviders to delete. + * @example + * // Delete a few MemberTraitServiceProviders + * const { count } = await prisma.memberTraitServiceProvider.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitServiceProviders. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitServiceProviderUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitServiceProviders + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitServiceProviders and returns the data updated in the database. + * @param {memberTraitServiceProviderUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitServiceProviders. + * @example + * // Update many MemberTraitServiceProviders + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitServiceProviders and only return the `id` + * const memberTraitServiceProviderWithIdOnly = await prisma.memberTraitServiceProvider.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitServiceProvider. + * @param {memberTraitServiceProviderUpsertArgs} args - Arguments to update or create a MemberTraitServiceProvider. + * @example + * // Update or create a MemberTraitServiceProvider + * const memberTraitServiceProvider = await prisma.memberTraitServiceProvider.upsert({ + * create: { + * // ... data to create a MemberTraitServiceProvider + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitServiceProvider we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitServiceProviderClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitServiceProviders. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitServiceProviderCountArgs} args - Arguments to filter MemberTraitServiceProviders to count. + * @example + * // Count the number of MemberTraitServiceProviders + * const count = await prisma.memberTraitServiceProvider.count({ + * where: { + * // ... the filter for the MemberTraitServiceProviders we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitServiceProvider. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitServiceProviderAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitServiceProvider. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitServiceProviderGroupByArgs} 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 memberTraitServiceProviderGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitServiceProviderGroupByArgs['orderBy'] } + : { orderBy?: memberTraitServiceProviderGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitServiceProviderGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitServiceProvider model + */ + readonly fields: memberTraitServiceProviderFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitServiceProvider. + * 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__memberTraitServiceProviderClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitServiceProvider model + */ + interface memberTraitServiceProviderFieldRefs { + readonly id: FieldRef<"memberTraitServiceProvider", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitServiceProvider", 'BigInt'> + readonly type: FieldRef<"memberTraitServiceProvider", 'ServiceProviderType'> + readonly name: FieldRef<"memberTraitServiceProvider", 'String'> + readonly createdAt: FieldRef<"memberTraitServiceProvider", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitServiceProvider", 'String'> + readonly updatedAt: FieldRef<"memberTraitServiceProvider", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitServiceProvider", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitServiceProvider findUnique + */ + export type memberTraitServiceProviderFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + /** + * Filter, which memberTraitServiceProvider to fetch. + */ + where: memberTraitServiceProviderWhereUniqueInput + } + + /** + * memberTraitServiceProvider findUniqueOrThrow + */ + export type memberTraitServiceProviderFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + /** + * Filter, which memberTraitServiceProvider to fetch. + */ + where: memberTraitServiceProviderWhereUniqueInput + } + + /** + * memberTraitServiceProvider findFirst + */ + export type memberTraitServiceProviderFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + /** + * Filter, which memberTraitServiceProvider to fetch. + */ + where?: memberTraitServiceProviderWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitServiceProviders to fetch. + */ + orderBy?: memberTraitServiceProviderOrderByWithRelationInput | memberTraitServiceProviderOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitServiceProviders. + */ + cursor?: memberTraitServiceProviderWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitServiceProviders 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` memberTraitServiceProviders. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitServiceProviders. + */ + distinct?: MemberTraitServiceProviderScalarFieldEnum | MemberTraitServiceProviderScalarFieldEnum[] + } + + /** + * memberTraitServiceProvider findFirstOrThrow + */ + export type memberTraitServiceProviderFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + /** + * Filter, which memberTraitServiceProvider to fetch. + */ + where?: memberTraitServiceProviderWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitServiceProviders to fetch. + */ + orderBy?: memberTraitServiceProviderOrderByWithRelationInput | memberTraitServiceProviderOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitServiceProviders. + */ + cursor?: memberTraitServiceProviderWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitServiceProviders 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` memberTraitServiceProviders. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitServiceProviders. + */ + distinct?: MemberTraitServiceProviderScalarFieldEnum | MemberTraitServiceProviderScalarFieldEnum[] + } + + /** + * memberTraitServiceProvider findMany + */ + export type memberTraitServiceProviderFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + /** + * Filter, which memberTraitServiceProviders to fetch. + */ + where?: memberTraitServiceProviderWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitServiceProviders to fetch. + */ + orderBy?: memberTraitServiceProviderOrderByWithRelationInput | memberTraitServiceProviderOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitServiceProviders. + */ + cursor?: memberTraitServiceProviderWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitServiceProviders 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` memberTraitServiceProviders. + */ + skip?: number + distinct?: MemberTraitServiceProviderScalarFieldEnum | MemberTraitServiceProviderScalarFieldEnum[] + } + + /** + * memberTraitServiceProvider create + */ + export type memberTraitServiceProviderCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + /** + * The data needed to create a memberTraitServiceProvider. + */ + data: XOR + } + + /** + * memberTraitServiceProvider createMany + */ + export type memberTraitServiceProviderCreateManyArgs = { + /** + * The data used to create many memberTraitServiceProviders. + */ + data: memberTraitServiceProviderCreateManyInput | memberTraitServiceProviderCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitServiceProvider createManyAndReturn + */ + export type memberTraitServiceProviderCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * The data used to create many memberTraitServiceProviders. + */ + data: memberTraitServiceProviderCreateManyInput | memberTraitServiceProviderCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderIncludeCreateManyAndReturn | null + } + + /** + * memberTraitServiceProvider update + */ + export type memberTraitServiceProviderUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + /** + * The data needed to update a memberTraitServiceProvider. + */ + data: XOR + /** + * Choose, which memberTraitServiceProvider to update. + */ + where: memberTraitServiceProviderWhereUniqueInput + } + + /** + * memberTraitServiceProvider updateMany + */ + export type memberTraitServiceProviderUpdateManyArgs = { + /** + * The data used to update memberTraitServiceProviders. + */ + data: XOR + /** + * Filter which memberTraitServiceProviders to update + */ + where?: memberTraitServiceProviderWhereInput + /** + * Limit how many memberTraitServiceProviders to update. + */ + limit?: number + } + + /** + * memberTraitServiceProvider updateManyAndReturn + */ + export type memberTraitServiceProviderUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * The data used to update memberTraitServiceProviders. + */ + data: XOR + /** + * Filter which memberTraitServiceProviders to update + */ + where?: memberTraitServiceProviderWhereInput + /** + * Limit how many memberTraitServiceProviders to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitServiceProvider upsert + */ + export type memberTraitServiceProviderUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + /** + * The filter to search for the memberTraitServiceProvider to update in case it exists. + */ + where: memberTraitServiceProviderWhereUniqueInput + /** + * In case the memberTraitServiceProvider found by the `where` argument doesn't exist, create a new memberTraitServiceProvider with this data. + */ + create: XOR + /** + * In case the memberTraitServiceProvider was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitServiceProvider delete + */ + export type memberTraitServiceProviderDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + /** + * Filter which memberTraitServiceProvider to delete. + */ + where: memberTraitServiceProviderWhereUniqueInput + } + + /** + * memberTraitServiceProvider deleteMany + */ + export type memberTraitServiceProviderDeleteManyArgs = { + /** + * Filter which memberTraitServiceProviders to delete + */ + where?: memberTraitServiceProviderWhereInput + /** + * Limit how many memberTraitServiceProviders to delete. + */ + limit?: number + } + + /** + * memberTraitServiceProvider without action + */ + export type memberTraitServiceProviderDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitServiceProvider + */ + select?: memberTraitServiceProviderSelect | null + /** + * Omit specific fields from the memberTraitServiceProvider + */ + omit?: memberTraitServiceProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitServiceProviderInclude | null + } + + + /** + * Model memberTraitWork + */ + + export type AggregateMemberTraitWork = { + _count: MemberTraitWorkCountAggregateOutputType | null + _avg: MemberTraitWorkAvgAggregateOutputType | null + _sum: MemberTraitWorkSumAggregateOutputType | null + _min: MemberTraitWorkMinAggregateOutputType | null + _max: MemberTraitWorkMaxAggregateOutputType | null + } + + export type MemberTraitWorkAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + } + + export type MemberTraitWorkSumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + } + + export type MemberTraitWorkMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + industry: $Enums.WorkIndustryType | null + otherIndustry: string | null + companyName: string | null + position: string | null + startDate: Date | null + endDate: Date | null + working: boolean | null + description: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitWorkMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + industry: $Enums.WorkIndustryType | null + otherIndustry: string | null + companyName: string | null + position: string | null + startDate: Date | null + endDate: Date | null + working: boolean | null + description: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitWorkCountAggregateOutputType = { + id: number + memberTraitId: number + industry: number + otherIndustry: number + companyName: number + position: number + startDate: number + endDate: number + working: number + description: number + associatedSkills: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitWorkAvgAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitWorkSumAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitWorkMinAggregateInputType = { + id?: true + memberTraitId?: true + industry?: true + otherIndustry?: true + companyName?: true + position?: true + startDate?: true + endDate?: true + working?: true + description?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitWorkMaxAggregateInputType = { + id?: true + memberTraitId?: true + industry?: true + otherIndustry?: true + companyName?: true + position?: true + startDate?: true + endDate?: true + working?: true + description?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitWorkCountAggregateInputType = { + id?: true + memberTraitId?: true + industry?: true + otherIndustry?: true + companyName?: true + position?: true + startDate?: true + endDate?: true + working?: true + description?: true + associatedSkills?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitWorkAggregateArgs = { + /** + * Filter which memberTraitWork to aggregate. + */ + where?: memberTraitWorkWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitWorks to fetch. + */ + orderBy?: memberTraitWorkOrderByWithRelationInput | memberTraitWorkOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitWorkWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitWorks 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` memberTraitWorks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitWorks + **/ + _count?: true | MemberTraitWorkCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitWorkAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitWorkSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitWorkMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitWorkMaxAggregateInputType + } + + export type GetMemberTraitWorkAggregateType = { + [P in keyof T & keyof AggregateMemberTraitWork]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitWorkGroupByArgs = { + where?: memberTraitWorkWhereInput + orderBy?: memberTraitWorkOrderByWithAggregationInput | memberTraitWorkOrderByWithAggregationInput[] + by: MemberTraitWorkScalarFieldEnum[] | MemberTraitWorkScalarFieldEnum + having?: memberTraitWorkScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitWorkCountAggregateInputType | true + _avg?: MemberTraitWorkAvgAggregateInputType + _sum?: MemberTraitWorkSumAggregateInputType + _min?: MemberTraitWorkMinAggregateInputType + _max?: MemberTraitWorkMaxAggregateInputType + } + + export type MemberTraitWorkGroupByOutputType = { + id: bigint + memberTraitId: bigint + industry: $Enums.WorkIndustryType | null + otherIndustry: string | null + companyName: string + position: string + startDate: Date | null + endDate: Date | null + working: boolean | null + description: string | null + associatedSkills: string[] + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitWorkCountAggregateOutputType | null + _avg: MemberTraitWorkAvgAggregateOutputType | null + _sum: MemberTraitWorkSumAggregateOutputType | null + _min: MemberTraitWorkMinAggregateOutputType | null + _max: MemberTraitWorkMaxAggregateOutputType | null + } + + type GetMemberTraitWorkGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitWorkGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitWorkSelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + industry?: boolean + otherIndustry?: boolean + companyName?: boolean + position?: boolean + startDate?: boolean + endDate?: boolean + working?: boolean + description?: boolean + associatedSkills?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitWork"]> + + export type memberTraitWorkSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + industry?: boolean + otherIndustry?: boolean + companyName?: boolean + position?: boolean + startDate?: boolean + endDate?: boolean + working?: boolean + description?: boolean + associatedSkills?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitWork"]> + + export type memberTraitWorkSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + industry?: boolean + otherIndustry?: boolean + companyName?: boolean + position?: boolean + startDate?: boolean + endDate?: boolean + working?: boolean + description?: boolean + associatedSkills?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitWork"]> + + export type memberTraitWorkSelectScalar = { + id?: boolean + memberTraitId?: boolean + industry?: boolean + otherIndustry?: boolean + companyName?: boolean + position?: boolean + startDate?: boolean + endDate?: boolean + working?: boolean + description?: boolean + associatedSkills?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitWorkOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "industry" | "otherIndustry" | "companyName" | "position" | "startDate" | "endDate" | "working" | "description" | "associatedSkills" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitWork"]> + export type memberTraitWorkInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitWorkIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitWorkIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitWorkPayload = { + name: "memberTraitWork" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + industry: $Enums.WorkIndustryType | null + otherIndustry: string | null + companyName: string + position: string + startDate: Date | null + endDate: Date | null + working: boolean | null + description: string | null + associatedSkills: string[] + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitWork"]> + composites: {} + } + + type memberTraitWorkGetPayload = $Result.GetResult + + type memberTraitWorkCountArgs = + Omit & { + select?: MemberTraitWorkCountAggregateInputType | true + } + + export interface memberTraitWorkDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitWork'], meta: { name: 'memberTraitWork' } } + /** + * Find zero or one MemberTraitWork that matches the filter. + * @param {memberTraitWorkFindUniqueArgs} args - Arguments to find a MemberTraitWork + * @example + * // Get one MemberTraitWork + * const memberTraitWork = await prisma.memberTraitWork.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitWorkClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitWork that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitWorkFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitWork + * @example + * // Get one MemberTraitWork + * const memberTraitWork = await prisma.memberTraitWork.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitWorkClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitWork 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 {memberTraitWorkFindFirstArgs} args - Arguments to find a MemberTraitWork + * @example + * // Get one MemberTraitWork + * const memberTraitWork = await prisma.memberTraitWork.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitWorkClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitWork 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 {memberTraitWorkFindFirstOrThrowArgs} args - Arguments to find a MemberTraitWork + * @example + * // Get one MemberTraitWork + * const memberTraitWork = await prisma.memberTraitWork.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitWorkClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitWorks 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 {memberTraitWorkFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitWorks + * const memberTraitWorks = await prisma.memberTraitWork.findMany() + * + * // Get first 10 MemberTraitWorks + * const memberTraitWorks = await prisma.memberTraitWork.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitWorkWithIdOnly = await prisma.memberTraitWork.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitWork. + * @param {memberTraitWorkCreateArgs} args - Arguments to create a MemberTraitWork. + * @example + * // Create one MemberTraitWork + * const MemberTraitWork = await prisma.memberTraitWork.create({ + * data: { + * // ... data to create a MemberTraitWork + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitWorkClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitWorks. + * @param {memberTraitWorkCreateManyArgs} args - Arguments to create many MemberTraitWorks. + * @example + * // Create many MemberTraitWorks + * const memberTraitWork = await prisma.memberTraitWork.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitWorks and returns the data saved in the database. + * @param {memberTraitWorkCreateManyAndReturnArgs} args - Arguments to create many MemberTraitWorks. + * @example + * // Create many MemberTraitWorks + * const memberTraitWork = await prisma.memberTraitWork.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitWorks and only return the `id` + * const memberTraitWorkWithIdOnly = await prisma.memberTraitWork.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitWork. + * @param {memberTraitWorkDeleteArgs} args - Arguments to delete one MemberTraitWork. + * @example + * // Delete one MemberTraitWork + * const MemberTraitWork = await prisma.memberTraitWork.delete({ + * where: { + * // ... filter to delete one MemberTraitWork + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitWorkClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitWork. + * @param {memberTraitWorkUpdateArgs} args - Arguments to update one MemberTraitWork. + * @example + * // Update one MemberTraitWork + * const memberTraitWork = await prisma.memberTraitWork.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitWorkClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitWorks. + * @param {memberTraitWorkDeleteManyArgs} args - Arguments to filter MemberTraitWorks to delete. + * @example + * // Delete a few MemberTraitWorks + * const { count } = await prisma.memberTraitWork.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitWorks. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitWorkUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitWorks + * const memberTraitWork = await prisma.memberTraitWork.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitWorks and returns the data updated in the database. + * @param {memberTraitWorkUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitWorks. + * @example + * // Update many MemberTraitWorks + * const memberTraitWork = await prisma.memberTraitWork.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitWorks and only return the `id` + * const memberTraitWorkWithIdOnly = await prisma.memberTraitWork.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitWork. + * @param {memberTraitWorkUpsertArgs} args - Arguments to update or create a MemberTraitWork. + * @example + * // Update or create a MemberTraitWork + * const memberTraitWork = await prisma.memberTraitWork.upsert({ + * create: { + * // ... data to create a MemberTraitWork + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitWork we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitWorkClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitWorks. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitWorkCountArgs} args - Arguments to filter MemberTraitWorks to count. + * @example + * // Count the number of MemberTraitWorks + * const count = await prisma.memberTraitWork.count({ + * where: { + * // ... the filter for the MemberTraitWorks we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitWork. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitWorkAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitWork. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitWorkGroupByArgs} 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 memberTraitWorkGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitWorkGroupByArgs['orderBy'] } + : { orderBy?: memberTraitWorkGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitWorkGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitWork model + */ + readonly fields: memberTraitWorkFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitWork. + * 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__memberTraitWorkClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitWork model + */ + interface memberTraitWorkFieldRefs { + readonly id: FieldRef<"memberTraitWork", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitWork", 'BigInt'> + readonly industry: FieldRef<"memberTraitWork", 'WorkIndustryType'> + readonly otherIndustry: FieldRef<"memberTraitWork", 'String'> + readonly companyName: FieldRef<"memberTraitWork", 'String'> + readonly position: FieldRef<"memberTraitWork", 'String'> + readonly startDate: FieldRef<"memberTraitWork", 'DateTime'> + readonly endDate: FieldRef<"memberTraitWork", 'DateTime'> + readonly working: FieldRef<"memberTraitWork", 'Boolean'> + readonly description: FieldRef<"memberTraitWork", 'String'> + readonly associatedSkills: FieldRef<"memberTraitWork", 'String[]'> + readonly createdAt: FieldRef<"memberTraitWork", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitWork", 'String'> + readonly updatedAt: FieldRef<"memberTraitWork", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitWork", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitWork findUnique + */ + export type memberTraitWorkFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + /** + * Filter, which memberTraitWork to fetch. + */ + where: memberTraitWorkWhereUniqueInput + } + + /** + * memberTraitWork findUniqueOrThrow + */ + export type memberTraitWorkFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + /** + * Filter, which memberTraitWork to fetch. + */ + where: memberTraitWorkWhereUniqueInput + } + + /** + * memberTraitWork findFirst + */ + export type memberTraitWorkFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + /** + * Filter, which memberTraitWork to fetch. + */ + where?: memberTraitWorkWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitWorks to fetch. + */ + orderBy?: memberTraitWorkOrderByWithRelationInput | memberTraitWorkOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitWorks. + */ + cursor?: memberTraitWorkWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitWorks 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` memberTraitWorks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitWorks. + */ + distinct?: MemberTraitWorkScalarFieldEnum | MemberTraitWorkScalarFieldEnum[] + } + + /** + * memberTraitWork findFirstOrThrow + */ + export type memberTraitWorkFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + /** + * Filter, which memberTraitWork to fetch. + */ + where?: memberTraitWorkWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitWorks to fetch. + */ + orderBy?: memberTraitWorkOrderByWithRelationInput | memberTraitWorkOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitWorks. + */ + cursor?: memberTraitWorkWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitWorks 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` memberTraitWorks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitWorks. + */ + distinct?: MemberTraitWorkScalarFieldEnum | MemberTraitWorkScalarFieldEnum[] + } + + /** + * memberTraitWork findMany + */ + export type memberTraitWorkFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + /** + * Filter, which memberTraitWorks to fetch. + */ + where?: memberTraitWorkWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitWorks to fetch. + */ + orderBy?: memberTraitWorkOrderByWithRelationInput | memberTraitWorkOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitWorks. + */ + cursor?: memberTraitWorkWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitWorks 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` memberTraitWorks. + */ + skip?: number + distinct?: MemberTraitWorkScalarFieldEnum | MemberTraitWorkScalarFieldEnum[] + } + + /** + * memberTraitWork create + */ + export type memberTraitWorkCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + /** + * The data needed to create a memberTraitWork. + */ + data: XOR + } + + /** + * memberTraitWork createMany + */ + export type memberTraitWorkCreateManyArgs = { + /** + * The data used to create many memberTraitWorks. + */ + data: memberTraitWorkCreateManyInput | memberTraitWorkCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitWork createManyAndReturn + */ + export type memberTraitWorkCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * The data used to create many memberTraitWorks. + */ + data: memberTraitWorkCreateManyInput | memberTraitWorkCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkIncludeCreateManyAndReturn | null + } + + /** + * memberTraitWork update + */ + export type memberTraitWorkUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + /** + * The data needed to update a memberTraitWork. + */ + data: XOR + /** + * Choose, which memberTraitWork to update. + */ + where: memberTraitWorkWhereUniqueInput + } + + /** + * memberTraitWork updateMany + */ + export type memberTraitWorkUpdateManyArgs = { + /** + * The data used to update memberTraitWorks. + */ + data: XOR + /** + * Filter which memberTraitWorks to update + */ + where?: memberTraitWorkWhereInput + /** + * Limit how many memberTraitWorks to update. + */ + limit?: number + } + + /** + * memberTraitWork updateManyAndReturn + */ + export type memberTraitWorkUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * The data used to update memberTraitWorks. + */ + data: XOR + /** + * Filter which memberTraitWorks to update + */ + where?: memberTraitWorkWhereInput + /** + * Limit how many memberTraitWorks to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitWork upsert + */ + export type memberTraitWorkUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + /** + * The filter to search for the memberTraitWork to update in case it exists. + */ + where: memberTraitWorkWhereUniqueInput + /** + * In case the memberTraitWork found by the `where` argument doesn't exist, create a new memberTraitWork with this data. + */ + create: XOR + /** + * In case the memberTraitWork was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitWork delete + */ + export type memberTraitWorkDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + /** + * Filter which memberTraitWork to delete. + */ + where: memberTraitWorkWhereUniqueInput + } + + /** + * memberTraitWork deleteMany + */ + export type memberTraitWorkDeleteManyArgs = { + /** + * Filter which memberTraitWorks to delete + */ + where?: memberTraitWorkWhereInput + /** + * Limit how many memberTraitWorks to delete. + */ + limit?: number + } + + /** + * memberTraitWork without action + */ + export type memberTraitWorkDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitWork + */ + select?: memberTraitWorkSelect | null + /** + * Omit specific fields from the memberTraitWork + */ + omit?: memberTraitWorkOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitWorkInclude | null + } + + + /** + * Model memberTraitEducation + */ + + export type AggregateMemberTraitEducation = { + _count: MemberTraitEducationCountAggregateOutputType | null + _avg: MemberTraitEducationAvgAggregateOutputType | null + _sum: MemberTraitEducationSumAggregateOutputType | null + _min: MemberTraitEducationMinAggregateOutputType | null + _max: MemberTraitEducationMaxAggregateOutputType | null + } + + export type MemberTraitEducationAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + endYear: number | null + } + + export type MemberTraitEducationSumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + endYear: number | null + } + + export type MemberTraitEducationMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + collegeName: string | null + degree: string | null + endYear: number | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitEducationMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + collegeName: string | null + degree: string | null + endYear: number | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitEducationCountAggregateOutputType = { + id: number + memberTraitId: number + collegeName: number + degree: number + endYear: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitEducationAvgAggregateInputType = { + id?: true + memberTraitId?: true + endYear?: true + } + + export type MemberTraitEducationSumAggregateInputType = { + id?: true + memberTraitId?: true + endYear?: true + } + + export type MemberTraitEducationMinAggregateInputType = { + id?: true + memberTraitId?: true + collegeName?: true + degree?: true + endYear?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitEducationMaxAggregateInputType = { + id?: true + memberTraitId?: true + collegeName?: true + degree?: true + endYear?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitEducationCountAggregateInputType = { + id?: true + memberTraitId?: true + collegeName?: true + degree?: true + endYear?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitEducationAggregateArgs = { + /** + * Filter which memberTraitEducation to aggregate. + */ + where?: memberTraitEducationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitEducations to fetch. + */ + orderBy?: memberTraitEducationOrderByWithRelationInput | memberTraitEducationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitEducationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitEducations 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` memberTraitEducations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitEducations + **/ + _count?: true | MemberTraitEducationCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitEducationAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitEducationSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitEducationMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitEducationMaxAggregateInputType + } + + export type GetMemberTraitEducationAggregateType = { + [P in keyof T & keyof AggregateMemberTraitEducation]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitEducationGroupByArgs = { + where?: memberTraitEducationWhereInput + orderBy?: memberTraitEducationOrderByWithAggregationInput | memberTraitEducationOrderByWithAggregationInput[] + by: MemberTraitEducationScalarFieldEnum[] | MemberTraitEducationScalarFieldEnum + having?: memberTraitEducationScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitEducationCountAggregateInputType | true + _avg?: MemberTraitEducationAvgAggregateInputType + _sum?: MemberTraitEducationSumAggregateInputType + _min?: MemberTraitEducationMinAggregateInputType + _max?: MemberTraitEducationMaxAggregateInputType + } + + export type MemberTraitEducationGroupByOutputType = { + id: bigint + memberTraitId: bigint + collegeName: string + degree: string + endYear: number | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitEducationCountAggregateOutputType | null + _avg: MemberTraitEducationAvgAggregateOutputType | null + _sum: MemberTraitEducationSumAggregateOutputType | null + _min: MemberTraitEducationMinAggregateOutputType | null + _max: MemberTraitEducationMaxAggregateOutputType | null + } + + type GetMemberTraitEducationGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitEducationGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitEducationSelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + collegeName?: boolean + degree?: boolean + endYear?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitEducation"]> + + export type memberTraitEducationSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + collegeName?: boolean + degree?: boolean + endYear?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitEducation"]> + + export type memberTraitEducationSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + collegeName?: boolean + degree?: boolean + endYear?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitEducation"]> + + export type memberTraitEducationSelectScalar = { + id?: boolean + memberTraitId?: boolean + collegeName?: boolean + degree?: boolean + endYear?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitEducationOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "collegeName" | "degree" | "endYear" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitEducation"]> + export type memberTraitEducationInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitEducationIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitEducationIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitEducationPayload = { + name: "memberTraitEducation" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + collegeName: string + degree: string + endYear: number | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitEducation"]> + composites: {} + } + + type memberTraitEducationGetPayload = $Result.GetResult + + type memberTraitEducationCountArgs = + Omit & { + select?: MemberTraitEducationCountAggregateInputType | true + } + + export interface memberTraitEducationDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitEducation'], meta: { name: 'memberTraitEducation' } } + /** + * Find zero or one MemberTraitEducation that matches the filter. + * @param {memberTraitEducationFindUniqueArgs} args - Arguments to find a MemberTraitEducation + * @example + * // Get one MemberTraitEducation + * const memberTraitEducation = await prisma.memberTraitEducation.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitEducationClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitEducation that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitEducationFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitEducation + * @example + * // Get one MemberTraitEducation + * const memberTraitEducation = await prisma.memberTraitEducation.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitEducationClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitEducation 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 {memberTraitEducationFindFirstArgs} args - Arguments to find a MemberTraitEducation + * @example + * // Get one MemberTraitEducation + * const memberTraitEducation = await prisma.memberTraitEducation.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitEducationClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitEducation 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 {memberTraitEducationFindFirstOrThrowArgs} args - Arguments to find a MemberTraitEducation + * @example + * // Get one MemberTraitEducation + * const memberTraitEducation = await prisma.memberTraitEducation.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitEducationClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitEducations 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 {memberTraitEducationFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitEducations + * const memberTraitEducations = await prisma.memberTraitEducation.findMany() + * + * // Get first 10 MemberTraitEducations + * const memberTraitEducations = await prisma.memberTraitEducation.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitEducationWithIdOnly = await prisma.memberTraitEducation.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitEducation. + * @param {memberTraitEducationCreateArgs} args - Arguments to create a MemberTraitEducation. + * @example + * // Create one MemberTraitEducation + * const MemberTraitEducation = await prisma.memberTraitEducation.create({ + * data: { + * // ... data to create a MemberTraitEducation + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitEducationClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitEducations. + * @param {memberTraitEducationCreateManyArgs} args - Arguments to create many MemberTraitEducations. + * @example + * // Create many MemberTraitEducations + * const memberTraitEducation = await prisma.memberTraitEducation.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitEducations and returns the data saved in the database. + * @param {memberTraitEducationCreateManyAndReturnArgs} args - Arguments to create many MemberTraitEducations. + * @example + * // Create many MemberTraitEducations + * const memberTraitEducation = await prisma.memberTraitEducation.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitEducations and only return the `id` + * const memberTraitEducationWithIdOnly = await prisma.memberTraitEducation.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitEducation. + * @param {memberTraitEducationDeleteArgs} args - Arguments to delete one MemberTraitEducation. + * @example + * // Delete one MemberTraitEducation + * const MemberTraitEducation = await prisma.memberTraitEducation.delete({ + * where: { + * // ... filter to delete one MemberTraitEducation + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitEducationClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitEducation. + * @param {memberTraitEducationUpdateArgs} args - Arguments to update one MemberTraitEducation. + * @example + * // Update one MemberTraitEducation + * const memberTraitEducation = await prisma.memberTraitEducation.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitEducationClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitEducations. + * @param {memberTraitEducationDeleteManyArgs} args - Arguments to filter MemberTraitEducations to delete. + * @example + * // Delete a few MemberTraitEducations + * const { count } = await prisma.memberTraitEducation.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitEducations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitEducationUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitEducations + * const memberTraitEducation = await prisma.memberTraitEducation.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitEducations and returns the data updated in the database. + * @param {memberTraitEducationUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitEducations. + * @example + * // Update many MemberTraitEducations + * const memberTraitEducation = await prisma.memberTraitEducation.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitEducations and only return the `id` + * const memberTraitEducationWithIdOnly = await prisma.memberTraitEducation.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitEducation. + * @param {memberTraitEducationUpsertArgs} args - Arguments to update or create a MemberTraitEducation. + * @example + * // Update or create a MemberTraitEducation + * const memberTraitEducation = await prisma.memberTraitEducation.upsert({ + * create: { + * // ... data to create a MemberTraitEducation + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitEducation we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitEducationClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitEducations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitEducationCountArgs} args - Arguments to filter MemberTraitEducations to count. + * @example + * // Count the number of MemberTraitEducations + * const count = await prisma.memberTraitEducation.count({ + * where: { + * // ... the filter for the MemberTraitEducations we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitEducation. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitEducationAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitEducation. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitEducationGroupByArgs} 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 memberTraitEducationGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitEducationGroupByArgs['orderBy'] } + : { orderBy?: memberTraitEducationGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitEducationGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitEducation model + */ + readonly fields: memberTraitEducationFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitEducation. + * 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__memberTraitEducationClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitEducation model + */ + interface memberTraitEducationFieldRefs { + readonly id: FieldRef<"memberTraitEducation", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitEducation", 'BigInt'> + readonly collegeName: FieldRef<"memberTraitEducation", 'String'> + readonly degree: FieldRef<"memberTraitEducation", 'String'> + readonly endYear: FieldRef<"memberTraitEducation", 'Int'> + readonly createdAt: FieldRef<"memberTraitEducation", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitEducation", 'String'> + readonly updatedAt: FieldRef<"memberTraitEducation", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitEducation", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitEducation findUnique + */ + export type memberTraitEducationFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + /** + * Filter, which memberTraitEducation to fetch. + */ + where: memberTraitEducationWhereUniqueInput + } + + /** + * memberTraitEducation findUniqueOrThrow + */ + export type memberTraitEducationFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + /** + * Filter, which memberTraitEducation to fetch. + */ + where: memberTraitEducationWhereUniqueInput + } + + /** + * memberTraitEducation findFirst + */ + export type memberTraitEducationFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + /** + * Filter, which memberTraitEducation to fetch. + */ + where?: memberTraitEducationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitEducations to fetch. + */ + orderBy?: memberTraitEducationOrderByWithRelationInput | memberTraitEducationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitEducations. + */ + cursor?: memberTraitEducationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitEducations 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` memberTraitEducations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitEducations. + */ + distinct?: MemberTraitEducationScalarFieldEnum | MemberTraitEducationScalarFieldEnum[] + } + + /** + * memberTraitEducation findFirstOrThrow + */ + export type memberTraitEducationFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + /** + * Filter, which memberTraitEducation to fetch. + */ + where?: memberTraitEducationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitEducations to fetch. + */ + orderBy?: memberTraitEducationOrderByWithRelationInput | memberTraitEducationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitEducations. + */ + cursor?: memberTraitEducationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitEducations 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` memberTraitEducations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitEducations. + */ + distinct?: MemberTraitEducationScalarFieldEnum | MemberTraitEducationScalarFieldEnum[] + } + + /** + * memberTraitEducation findMany + */ + export type memberTraitEducationFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + /** + * Filter, which memberTraitEducations to fetch. + */ + where?: memberTraitEducationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitEducations to fetch. + */ + orderBy?: memberTraitEducationOrderByWithRelationInput | memberTraitEducationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitEducations. + */ + cursor?: memberTraitEducationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitEducations 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` memberTraitEducations. + */ + skip?: number + distinct?: MemberTraitEducationScalarFieldEnum | MemberTraitEducationScalarFieldEnum[] + } + + /** + * memberTraitEducation create + */ + export type memberTraitEducationCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + /** + * The data needed to create a memberTraitEducation. + */ + data: XOR + } + + /** + * memberTraitEducation createMany + */ + export type memberTraitEducationCreateManyArgs = { + /** + * The data used to create many memberTraitEducations. + */ + data: memberTraitEducationCreateManyInput | memberTraitEducationCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitEducation createManyAndReturn + */ + export type memberTraitEducationCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * The data used to create many memberTraitEducations. + */ + data: memberTraitEducationCreateManyInput | memberTraitEducationCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationIncludeCreateManyAndReturn | null + } + + /** + * memberTraitEducation update + */ + export type memberTraitEducationUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + /** + * The data needed to update a memberTraitEducation. + */ + data: XOR + /** + * Choose, which memberTraitEducation to update. + */ + where: memberTraitEducationWhereUniqueInput + } + + /** + * memberTraitEducation updateMany + */ + export type memberTraitEducationUpdateManyArgs = { + /** + * The data used to update memberTraitEducations. + */ + data: XOR + /** + * Filter which memberTraitEducations to update + */ + where?: memberTraitEducationWhereInput + /** + * Limit how many memberTraitEducations to update. + */ + limit?: number + } + + /** + * memberTraitEducation updateManyAndReturn + */ + export type memberTraitEducationUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * The data used to update memberTraitEducations. + */ + data: XOR + /** + * Filter which memberTraitEducations to update + */ + where?: memberTraitEducationWhereInput + /** + * Limit how many memberTraitEducations to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitEducation upsert + */ + export type memberTraitEducationUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + /** + * The filter to search for the memberTraitEducation to update in case it exists. + */ + where: memberTraitEducationWhereUniqueInput + /** + * In case the memberTraitEducation found by the `where` argument doesn't exist, create a new memberTraitEducation with this data. + */ + create: XOR + /** + * In case the memberTraitEducation was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitEducation delete + */ + export type memberTraitEducationDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + /** + * Filter which memberTraitEducation to delete. + */ + where: memberTraitEducationWhereUniqueInput + } + + /** + * memberTraitEducation deleteMany + */ + export type memberTraitEducationDeleteManyArgs = { + /** + * Filter which memberTraitEducations to delete + */ + where?: memberTraitEducationWhereInput + /** + * Limit how many memberTraitEducations to delete. + */ + limit?: number + } + + /** + * memberTraitEducation without action + */ + export type memberTraitEducationDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitEducation + */ + select?: memberTraitEducationSelect | null + /** + * Omit specific fields from the memberTraitEducation + */ + omit?: memberTraitEducationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitEducationInclude | null + } + + + /** + * Model memberTraitBasicInfo + */ + + export type AggregateMemberTraitBasicInfo = { + _count: MemberTraitBasicInfoCountAggregateOutputType | null + _avg: MemberTraitBasicInfoAvgAggregateOutputType | null + _sum: MemberTraitBasicInfoSumAggregateOutputType | null + _min: MemberTraitBasicInfoMinAggregateOutputType | null + _max: MemberTraitBasicInfoMaxAggregateOutputType | null + } + + export type MemberTraitBasicInfoAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + userId: number | null + } + + export type MemberTraitBasicInfoSumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + userId: bigint | null + } + + export type MemberTraitBasicInfoMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + userId: bigint | null + country: string | null + primaryInterestInTopcoder: string | null + tshirtSize: string | null + gender: string | null + shortBio: string | null + birthDate: Date | null + currentLocation: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitBasicInfoMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + userId: bigint | null + country: string | null + primaryInterestInTopcoder: string | null + tshirtSize: string | null + gender: string | null + shortBio: string | null + birthDate: Date | null + currentLocation: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitBasicInfoCountAggregateOutputType = { + id: number + memberTraitId: number + userId: number + country: number + primaryInterestInTopcoder: number + tshirtSize: number + gender: number + shortBio: number + birthDate: number + currentLocation: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitBasicInfoAvgAggregateInputType = { + id?: true + memberTraitId?: true + userId?: true + } + + export type MemberTraitBasicInfoSumAggregateInputType = { + id?: true + memberTraitId?: true + userId?: true + } + + export type MemberTraitBasicInfoMinAggregateInputType = { + id?: true + memberTraitId?: true + userId?: true + country?: true + primaryInterestInTopcoder?: true + tshirtSize?: true + gender?: true + shortBio?: true + birthDate?: true + currentLocation?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitBasicInfoMaxAggregateInputType = { + id?: true + memberTraitId?: true + userId?: true + country?: true + primaryInterestInTopcoder?: true + tshirtSize?: true + gender?: true + shortBio?: true + birthDate?: true + currentLocation?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitBasicInfoCountAggregateInputType = { + id?: true + memberTraitId?: true + userId?: true + country?: true + primaryInterestInTopcoder?: true + tshirtSize?: true + gender?: true + shortBio?: true + birthDate?: true + currentLocation?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitBasicInfoAggregateArgs = { + /** + * Filter which memberTraitBasicInfo to aggregate. + */ + where?: memberTraitBasicInfoWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitBasicInfos to fetch. + */ + orderBy?: memberTraitBasicInfoOrderByWithRelationInput | memberTraitBasicInfoOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitBasicInfoWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitBasicInfos 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` memberTraitBasicInfos. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitBasicInfos + **/ + _count?: true | MemberTraitBasicInfoCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitBasicInfoAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitBasicInfoSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitBasicInfoMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitBasicInfoMaxAggregateInputType + } + + export type GetMemberTraitBasicInfoAggregateType = { + [P in keyof T & keyof AggregateMemberTraitBasicInfo]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitBasicInfoGroupByArgs = { + where?: memberTraitBasicInfoWhereInput + orderBy?: memberTraitBasicInfoOrderByWithAggregationInput | memberTraitBasicInfoOrderByWithAggregationInput[] + by: MemberTraitBasicInfoScalarFieldEnum[] | MemberTraitBasicInfoScalarFieldEnum + having?: memberTraitBasicInfoScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitBasicInfoCountAggregateInputType | true + _avg?: MemberTraitBasicInfoAvgAggregateInputType + _sum?: MemberTraitBasicInfoSumAggregateInputType + _min?: MemberTraitBasicInfoMinAggregateInputType + _max?: MemberTraitBasicInfoMaxAggregateInputType + } + + export type MemberTraitBasicInfoGroupByOutputType = { + id: bigint + memberTraitId: bigint + userId: bigint + country: string + primaryInterestInTopcoder: string + tshirtSize: string | null + gender: string | null + shortBio: string + birthDate: Date | null + currentLocation: string | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitBasicInfoCountAggregateOutputType | null + _avg: MemberTraitBasicInfoAvgAggregateOutputType | null + _sum: MemberTraitBasicInfoSumAggregateOutputType | null + _min: MemberTraitBasicInfoMinAggregateOutputType | null + _max: MemberTraitBasicInfoMaxAggregateOutputType | null + } + + type GetMemberTraitBasicInfoGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitBasicInfoGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitBasicInfoSelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + userId?: boolean + country?: boolean + primaryInterestInTopcoder?: boolean + tshirtSize?: boolean + gender?: boolean + shortBio?: boolean + birthDate?: boolean + currentLocation?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitBasicInfo"]> + + export type memberTraitBasicInfoSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + userId?: boolean + country?: boolean + primaryInterestInTopcoder?: boolean + tshirtSize?: boolean + gender?: boolean + shortBio?: boolean + birthDate?: boolean + currentLocation?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitBasicInfo"]> + + export type memberTraitBasicInfoSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + userId?: boolean + country?: boolean + primaryInterestInTopcoder?: boolean + tshirtSize?: boolean + gender?: boolean + shortBio?: boolean + birthDate?: boolean + currentLocation?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitBasicInfo"]> + + export type memberTraitBasicInfoSelectScalar = { + id?: boolean + memberTraitId?: boolean + userId?: boolean + country?: boolean + primaryInterestInTopcoder?: boolean + tshirtSize?: boolean + gender?: boolean + shortBio?: boolean + birthDate?: boolean + currentLocation?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitBasicInfoOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "userId" | "country" | "primaryInterestInTopcoder" | "tshirtSize" | "gender" | "shortBio" | "birthDate" | "currentLocation" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitBasicInfo"]> + export type memberTraitBasicInfoInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitBasicInfoIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitBasicInfoIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitBasicInfoPayload = { + name: "memberTraitBasicInfo" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + userId: bigint + country: string + primaryInterestInTopcoder: string + tshirtSize: string | null + gender: string | null + shortBio: string + birthDate: Date | null + currentLocation: string | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitBasicInfo"]> + composites: {} + } + + type memberTraitBasicInfoGetPayload = $Result.GetResult + + type memberTraitBasicInfoCountArgs = + Omit & { + select?: MemberTraitBasicInfoCountAggregateInputType | true + } + + export interface memberTraitBasicInfoDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitBasicInfo'], meta: { name: 'memberTraitBasicInfo' } } + /** + * Find zero or one MemberTraitBasicInfo that matches the filter. + * @param {memberTraitBasicInfoFindUniqueArgs} args - Arguments to find a MemberTraitBasicInfo + * @example + * // Get one MemberTraitBasicInfo + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitBasicInfoClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitBasicInfo that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitBasicInfoFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitBasicInfo + * @example + * // Get one MemberTraitBasicInfo + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitBasicInfoClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitBasicInfo 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 {memberTraitBasicInfoFindFirstArgs} args - Arguments to find a MemberTraitBasicInfo + * @example + * // Get one MemberTraitBasicInfo + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitBasicInfoClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitBasicInfo 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 {memberTraitBasicInfoFindFirstOrThrowArgs} args - Arguments to find a MemberTraitBasicInfo + * @example + * // Get one MemberTraitBasicInfo + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitBasicInfoClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitBasicInfos 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 {memberTraitBasicInfoFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitBasicInfos + * const memberTraitBasicInfos = await prisma.memberTraitBasicInfo.findMany() + * + * // Get first 10 MemberTraitBasicInfos + * const memberTraitBasicInfos = await prisma.memberTraitBasicInfo.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitBasicInfoWithIdOnly = await prisma.memberTraitBasicInfo.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitBasicInfo. + * @param {memberTraitBasicInfoCreateArgs} args - Arguments to create a MemberTraitBasicInfo. + * @example + * // Create one MemberTraitBasicInfo + * const MemberTraitBasicInfo = await prisma.memberTraitBasicInfo.create({ + * data: { + * // ... data to create a MemberTraitBasicInfo + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitBasicInfoClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitBasicInfos. + * @param {memberTraitBasicInfoCreateManyArgs} args - Arguments to create many MemberTraitBasicInfos. + * @example + * // Create many MemberTraitBasicInfos + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitBasicInfos and returns the data saved in the database. + * @param {memberTraitBasicInfoCreateManyAndReturnArgs} args - Arguments to create many MemberTraitBasicInfos. + * @example + * // Create many MemberTraitBasicInfos + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitBasicInfos and only return the `id` + * const memberTraitBasicInfoWithIdOnly = await prisma.memberTraitBasicInfo.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitBasicInfo. + * @param {memberTraitBasicInfoDeleteArgs} args - Arguments to delete one MemberTraitBasicInfo. + * @example + * // Delete one MemberTraitBasicInfo + * const MemberTraitBasicInfo = await prisma.memberTraitBasicInfo.delete({ + * where: { + * // ... filter to delete one MemberTraitBasicInfo + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitBasicInfoClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitBasicInfo. + * @param {memberTraitBasicInfoUpdateArgs} args - Arguments to update one MemberTraitBasicInfo. + * @example + * // Update one MemberTraitBasicInfo + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitBasicInfoClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitBasicInfos. + * @param {memberTraitBasicInfoDeleteManyArgs} args - Arguments to filter MemberTraitBasicInfos to delete. + * @example + * // Delete a few MemberTraitBasicInfos + * const { count } = await prisma.memberTraitBasicInfo.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitBasicInfos. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitBasicInfoUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitBasicInfos + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitBasicInfos and returns the data updated in the database. + * @param {memberTraitBasicInfoUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitBasicInfos. + * @example + * // Update many MemberTraitBasicInfos + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitBasicInfos and only return the `id` + * const memberTraitBasicInfoWithIdOnly = await prisma.memberTraitBasicInfo.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitBasicInfo. + * @param {memberTraitBasicInfoUpsertArgs} args - Arguments to update or create a MemberTraitBasicInfo. + * @example + * // Update or create a MemberTraitBasicInfo + * const memberTraitBasicInfo = await prisma.memberTraitBasicInfo.upsert({ + * create: { + * // ... data to create a MemberTraitBasicInfo + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitBasicInfo we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitBasicInfoClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitBasicInfos. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitBasicInfoCountArgs} args - Arguments to filter MemberTraitBasicInfos to count. + * @example + * // Count the number of MemberTraitBasicInfos + * const count = await prisma.memberTraitBasicInfo.count({ + * where: { + * // ... the filter for the MemberTraitBasicInfos we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitBasicInfo. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitBasicInfoAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitBasicInfo. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitBasicInfoGroupByArgs} 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 memberTraitBasicInfoGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitBasicInfoGroupByArgs['orderBy'] } + : { orderBy?: memberTraitBasicInfoGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitBasicInfoGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitBasicInfo model + */ + readonly fields: memberTraitBasicInfoFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitBasicInfo. + * 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__memberTraitBasicInfoClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitBasicInfo model + */ + interface memberTraitBasicInfoFieldRefs { + readonly id: FieldRef<"memberTraitBasicInfo", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitBasicInfo", 'BigInt'> + readonly userId: FieldRef<"memberTraitBasicInfo", 'BigInt'> + readonly country: FieldRef<"memberTraitBasicInfo", 'String'> + readonly primaryInterestInTopcoder: FieldRef<"memberTraitBasicInfo", 'String'> + readonly tshirtSize: FieldRef<"memberTraitBasicInfo", 'String'> + readonly gender: FieldRef<"memberTraitBasicInfo", 'String'> + readonly shortBio: FieldRef<"memberTraitBasicInfo", 'String'> + readonly birthDate: FieldRef<"memberTraitBasicInfo", 'DateTime'> + readonly currentLocation: FieldRef<"memberTraitBasicInfo", 'String'> + readonly createdAt: FieldRef<"memberTraitBasicInfo", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitBasicInfo", 'String'> + readonly updatedAt: FieldRef<"memberTraitBasicInfo", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitBasicInfo", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitBasicInfo findUnique + */ + export type memberTraitBasicInfoFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + /** + * Filter, which memberTraitBasicInfo to fetch. + */ + where: memberTraitBasicInfoWhereUniqueInput + } + + /** + * memberTraitBasicInfo findUniqueOrThrow + */ + export type memberTraitBasicInfoFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + /** + * Filter, which memberTraitBasicInfo to fetch. + */ + where: memberTraitBasicInfoWhereUniqueInput + } + + /** + * memberTraitBasicInfo findFirst + */ + export type memberTraitBasicInfoFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + /** + * Filter, which memberTraitBasicInfo to fetch. + */ + where?: memberTraitBasicInfoWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitBasicInfos to fetch. + */ + orderBy?: memberTraitBasicInfoOrderByWithRelationInput | memberTraitBasicInfoOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitBasicInfos. + */ + cursor?: memberTraitBasicInfoWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitBasicInfos 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` memberTraitBasicInfos. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitBasicInfos. + */ + distinct?: MemberTraitBasicInfoScalarFieldEnum | MemberTraitBasicInfoScalarFieldEnum[] + } + + /** + * memberTraitBasicInfo findFirstOrThrow + */ + export type memberTraitBasicInfoFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + /** + * Filter, which memberTraitBasicInfo to fetch. + */ + where?: memberTraitBasicInfoWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitBasicInfos to fetch. + */ + orderBy?: memberTraitBasicInfoOrderByWithRelationInput | memberTraitBasicInfoOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitBasicInfos. + */ + cursor?: memberTraitBasicInfoWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitBasicInfos 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` memberTraitBasicInfos. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitBasicInfos. + */ + distinct?: MemberTraitBasicInfoScalarFieldEnum | MemberTraitBasicInfoScalarFieldEnum[] + } + + /** + * memberTraitBasicInfo findMany + */ + export type memberTraitBasicInfoFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + /** + * Filter, which memberTraitBasicInfos to fetch. + */ + where?: memberTraitBasicInfoWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitBasicInfos to fetch. + */ + orderBy?: memberTraitBasicInfoOrderByWithRelationInput | memberTraitBasicInfoOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitBasicInfos. + */ + cursor?: memberTraitBasicInfoWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitBasicInfos 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` memberTraitBasicInfos. + */ + skip?: number + distinct?: MemberTraitBasicInfoScalarFieldEnum | MemberTraitBasicInfoScalarFieldEnum[] + } + + /** + * memberTraitBasicInfo create + */ + export type memberTraitBasicInfoCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + /** + * The data needed to create a memberTraitBasicInfo. + */ + data: XOR + } + + /** + * memberTraitBasicInfo createMany + */ + export type memberTraitBasicInfoCreateManyArgs = { + /** + * The data used to create many memberTraitBasicInfos. + */ + data: memberTraitBasicInfoCreateManyInput | memberTraitBasicInfoCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitBasicInfo createManyAndReturn + */ + export type memberTraitBasicInfoCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * The data used to create many memberTraitBasicInfos. + */ + data: memberTraitBasicInfoCreateManyInput | memberTraitBasicInfoCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoIncludeCreateManyAndReturn | null + } + + /** + * memberTraitBasicInfo update + */ + export type memberTraitBasicInfoUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + /** + * The data needed to update a memberTraitBasicInfo. + */ + data: XOR + /** + * Choose, which memberTraitBasicInfo to update. + */ + where: memberTraitBasicInfoWhereUniqueInput + } + + /** + * memberTraitBasicInfo updateMany + */ + export type memberTraitBasicInfoUpdateManyArgs = { + /** + * The data used to update memberTraitBasicInfos. + */ + data: XOR + /** + * Filter which memberTraitBasicInfos to update + */ + where?: memberTraitBasicInfoWhereInput + /** + * Limit how many memberTraitBasicInfos to update. + */ + limit?: number + } + + /** + * memberTraitBasicInfo updateManyAndReturn + */ + export type memberTraitBasicInfoUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * The data used to update memberTraitBasicInfos. + */ + data: XOR + /** + * Filter which memberTraitBasicInfos to update + */ + where?: memberTraitBasicInfoWhereInput + /** + * Limit how many memberTraitBasicInfos to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitBasicInfo upsert + */ + export type memberTraitBasicInfoUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + /** + * The filter to search for the memberTraitBasicInfo to update in case it exists. + */ + where: memberTraitBasicInfoWhereUniqueInput + /** + * In case the memberTraitBasicInfo found by the `where` argument doesn't exist, create a new memberTraitBasicInfo with this data. + */ + create: XOR + /** + * In case the memberTraitBasicInfo was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitBasicInfo delete + */ + export type memberTraitBasicInfoDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + /** + * Filter which memberTraitBasicInfo to delete. + */ + where: memberTraitBasicInfoWhereUniqueInput + } + + /** + * memberTraitBasicInfo deleteMany + */ + export type memberTraitBasicInfoDeleteManyArgs = { + /** + * Filter which memberTraitBasicInfos to delete + */ + where?: memberTraitBasicInfoWhereInput + /** + * Limit how many memberTraitBasicInfos to delete. + */ + limit?: number + } + + /** + * memberTraitBasicInfo without action + */ + export type memberTraitBasicInfoDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitBasicInfo + */ + select?: memberTraitBasicInfoSelect | null + /** + * Omit specific fields from the memberTraitBasicInfo + */ + omit?: memberTraitBasicInfoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitBasicInfoInclude | null + } + + + /** + * Model memberTraitLanguage + */ + + export type AggregateMemberTraitLanguage = { + _count: MemberTraitLanguageCountAggregateOutputType | null + _avg: MemberTraitLanguageAvgAggregateOutputType | null + _sum: MemberTraitLanguageSumAggregateOutputType | null + _min: MemberTraitLanguageMinAggregateOutputType | null + _max: MemberTraitLanguageMaxAggregateOutputType | null + } + + export type MemberTraitLanguageAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + } + + export type MemberTraitLanguageSumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + } + + export type MemberTraitLanguageMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + language: string | null + spokenLevel: string | null + writtenLevel: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitLanguageMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + language: string | null + spokenLevel: string | null + writtenLevel: string | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitLanguageCountAggregateOutputType = { + id: number + memberTraitId: number + language: number + spokenLevel: number + writtenLevel: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitLanguageAvgAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitLanguageSumAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitLanguageMinAggregateInputType = { + id?: true + memberTraitId?: true + language?: true + spokenLevel?: true + writtenLevel?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitLanguageMaxAggregateInputType = { + id?: true + memberTraitId?: true + language?: true + spokenLevel?: true + writtenLevel?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitLanguageCountAggregateInputType = { + id?: true + memberTraitId?: true + language?: true + spokenLevel?: true + writtenLevel?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitLanguageAggregateArgs = { + /** + * Filter which memberTraitLanguage to aggregate. + */ + where?: memberTraitLanguageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitLanguages to fetch. + */ + orderBy?: memberTraitLanguageOrderByWithRelationInput | memberTraitLanguageOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitLanguageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitLanguages 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` memberTraitLanguages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitLanguages + **/ + _count?: true | MemberTraitLanguageCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitLanguageAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitLanguageSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitLanguageMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitLanguageMaxAggregateInputType + } + + export type GetMemberTraitLanguageAggregateType = { + [P in keyof T & keyof AggregateMemberTraitLanguage]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitLanguageGroupByArgs = { + where?: memberTraitLanguageWhereInput + orderBy?: memberTraitLanguageOrderByWithAggregationInput | memberTraitLanguageOrderByWithAggregationInput[] + by: MemberTraitLanguageScalarFieldEnum[] | MemberTraitLanguageScalarFieldEnum + having?: memberTraitLanguageScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitLanguageCountAggregateInputType | true + _avg?: MemberTraitLanguageAvgAggregateInputType + _sum?: MemberTraitLanguageSumAggregateInputType + _min?: MemberTraitLanguageMinAggregateInputType + _max?: MemberTraitLanguageMaxAggregateInputType + } + + export type MemberTraitLanguageGroupByOutputType = { + id: bigint + memberTraitId: bigint + language: string + spokenLevel: string | null + writtenLevel: string | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitLanguageCountAggregateOutputType | null + _avg: MemberTraitLanguageAvgAggregateOutputType | null + _sum: MemberTraitLanguageSumAggregateOutputType | null + _min: MemberTraitLanguageMinAggregateOutputType | null + _max: MemberTraitLanguageMaxAggregateOutputType | null + } + + type GetMemberTraitLanguageGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitLanguageGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitLanguageSelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + language?: boolean + spokenLevel?: boolean + writtenLevel?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitLanguage"]> + + export type memberTraitLanguageSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + language?: boolean + spokenLevel?: boolean + writtenLevel?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitLanguage"]> + + export type memberTraitLanguageSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + language?: boolean + spokenLevel?: boolean + writtenLevel?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitLanguage"]> + + export type memberTraitLanguageSelectScalar = { + id?: boolean + memberTraitId?: boolean + language?: boolean + spokenLevel?: boolean + writtenLevel?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitLanguageOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "language" | "spokenLevel" | "writtenLevel" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitLanguage"]> + export type memberTraitLanguageInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitLanguageIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitLanguageIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitLanguagePayload = { + name: "memberTraitLanguage" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + language: string + spokenLevel: string | null + writtenLevel: string | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitLanguage"]> + composites: {} + } + + type memberTraitLanguageGetPayload = $Result.GetResult + + type memberTraitLanguageCountArgs = + Omit & { + select?: MemberTraitLanguageCountAggregateInputType | true + } + + export interface memberTraitLanguageDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitLanguage'], meta: { name: 'memberTraitLanguage' } } + /** + * Find zero or one MemberTraitLanguage that matches the filter. + * @param {memberTraitLanguageFindUniqueArgs} args - Arguments to find a MemberTraitLanguage + * @example + * // Get one MemberTraitLanguage + * const memberTraitLanguage = await prisma.memberTraitLanguage.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitLanguageClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitLanguage that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitLanguageFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitLanguage + * @example + * // Get one MemberTraitLanguage + * const memberTraitLanguage = await prisma.memberTraitLanguage.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitLanguageClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitLanguage 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 {memberTraitLanguageFindFirstArgs} args - Arguments to find a MemberTraitLanguage + * @example + * // Get one MemberTraitLanguage + * const memberTraitLanguage = await prisma.memberTraitLanguage.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitLanguageClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitLanguage 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 {memberTraitLanguageFindFirstOrThrowArgs} args - Arguments to find a MemberTraitLanguage + * @example + * // Get one MemberTraitLanguage + * const memberTraitLanguage = await prisma.memberTraitLanguage.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitLanguageClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitLanguages 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 {memberTraitLanguageFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitLanguages + * const memberTraitLanguages = await prisma.memberTraitLanguage.findMany() + * + * // Get first 10 MemberTraitLanguages + * const memberTraitLanguages = await prisma.memberTraitLanguage.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitLanguageWithIdOnly = await prisma.memberTraitLanguage.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitLanguage. + * @param {memberTraitLanguageCreateArgs} args - Arguments to create a MemberTraitLanguage. + * @example + * // Create one MemberTraitLanguage + * const MemberTraitLanguage = await prisma.memberTraitLanguage.create({ + * data: { + * // ... data to create a MemberTraitLanguage + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitLanguageClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitLanguages. + * @param {memberTraitLanguageCreateManyArgs} args - Arguments to create many MemberTraitLanguages. + * @example + * // Create many MemberTraitLanguages + * const memberTraitLanguage = await prisma.memberTraitLanguage.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitLanguages and returns the data saved in the database. + * @param {memberTraitLanguageCreateManyAndReturnArgs} args - Arguments to create many MemberTraitLanguages. + * @example + * // Create many MemberTraitLanguages + * const memberTraitLanguage = await prisma.memberTraitLanguage.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitLanguages and only return the `id` + * const memberTraitLanguageWithIdOnly = await prisma.memberTraitLanguage.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitLanguage. + * @param {memberTraitLanguageDeleteArgs} args - Arguments to delete one MemberTraitLanguage. + * @example + * // Delete one MemberTraitLanguage + * const MemberTraitLanguage = await prisma.memberTraitLanguage.delete({ + * where: { + * // ... filter to delete one MemberTraitLanguage + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitLanguageClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitLanguage. + * @param {memberTraitLanguageUpdateArgs} args - Arguments to update one MemberTraitLanguage. + * @example + * // Update one MemberTraitLanguage + * const memberTraitLanguage = await prisma.memberTraitLanguage.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitLanguageClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitLanguages. + * @param {memberTraitLanguageDeleteManyArgs} args - Arguments to filter MemberTraitLanguages to delete. + * @example + * // Delete a few MemberTraitLanguages + * const { count } = await prisma.memberTraitLanguage.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitLanguages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitLanguageUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitLanguages + * const memberTraitLanguage = await prisma.memberTraitLanguage.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitLanguages and returns the data updated in the database. + * @param {memberTraitLanguageUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitLanguages. + * @example + * // Update many MemberTraitLanguages + * const memberTraitLanguage = await prisma.memberTraitLanguage.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitLanguages and only return the `id` + * const memberTraitLanguageWithIdOnly = await prisma.memberTraitLanguage.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitLanguage. + * @param {memberTraitLanguageUpsertArgs} args - Arguments to update or create a MemberTraitLanguage. + * @example + * // Update or create a MemberTraitLanguage + * const memberTraitLanguage = await prisma.memberTraitLanguage.upsert({ + * create: { + * // ... data to create a MemberTraitLanguage + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitLanguage we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitLanguageClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitLanguages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitLanguageCountArgs} args - Arguments to filter MemberTraitLanguages to count. + * @example + * // Count the number of MemberTraitLanguages + * const count = await prisma.memberTraitLanguage.count({ + * where: { + * // ... the filter for the MemberTraitLanguages we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitLanguage. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitLanguageAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitLanguage. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitLanguageGroupByArgs} 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 memberTraitLanguageGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitLanguageGroupByArgs['orderBy'] } + : { orderBy?: memberTraitLanguageGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitLanguageGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitLanguage model + */ + readonly fields: memberTraitLanguageFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitLanguage. + * 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__memberTraitLanguageClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitLanguage model + */ + interface memberTraitLanguageFieldRefs { + readonly id: FieldRef<"memberTraitLanguage", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitLanguage", 'BigInt'> + readonly language: FieldRef<"memberTraitLanguage", 'String'> + readonly spokenLevel: FieldRef<"memberTraitLanguage", 'String'> + readonly writtenLevel: FieldRef<"memberTraitLanguage", 'String'> + readonly createdAt: FieldRef<"memberTraitLanguage", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitLanguage", 'String'> + readonly updatedAt: FieldRef<"memberTraitLanguage", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitLanguage", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitLanguage findUnique + */ + export type memberTraitLanguageFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + /** + * Filter, which memberTraitLanguage to fetch. + */ + where: memberTraitLanguageWhereUniqueInput + } + + /** + * memberTraitLanguage findUniqueOrThrow + */ + export type memberTraitLanguageFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + /** + * Filter, which memberTraitLanguage to fetch. + */ + where: memberTraitLanguageWhereUniqueInput + } + + /** + * memberTraitLanguage findFirst + */ + export type memberTraitLanguageFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + /** + * Filter, which memberTraitLanguage to fetch. + */ + where?: memberTraitLanguageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitLanguages to fetch. + */ + orderBy?: memberTraitLanguageOrderByWithRelationInput | memberTraitLanguageOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitLanguages. + */ + cursor?: memberTraitLanguageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitLanguages 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` memberTraitLanguages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitLanguages. + */ + distinct?: MemberTraitLanguageScalarFieldEnum | MemberTraitLanguageScalarFieldEnum[] + } + + /** + * memberTraitLanguage findFirstOrThrow + */ + export type memberTraitLanguageFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + /** + * Filter, which memberTraitLanguage to fetch. + */ + where?: memberTraitLanguageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitLanguages to fetch. + */ + orderBy?: memberTraitLanguageOrderByWithRelationInput | memberTraitLanguageOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitLanguages. + */ + cursor?: memberTraitLanguageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitLanguages 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` memberTraitLanguages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitLanguages. + */ + distinct?: MemberTraitLanguageScalarFieldEnum | MemberTraitLanguageScalarFieldEnum[] + } + + /** + * memberTraitLanguage findMany + */ + export type memberTraitLanguageFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + /** + * Filter, which memberTraitLanguages to fetch. + */ + where?: memberTraitLanguageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitLanguages to fetch. + */ + orderBy?: memberTraitLanguageOrderByWithRelationInput | memberTraitLanguageOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitLanguages. + */ + cursor?: memberTraitLanguageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitLanguages 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` memberTraitLanguages. + */ + skip?: number + distinct?: MemberTraitLanguageScalarFieldEnum | MemberTraitLanguageScalarFieldEnum[] + } + + /** + * memberTraitLanguage create + */ + export type memberTraitLanguageCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + /** + * The data needed to create a memberTraitLanguage. + */ + data: XOR + } + + /** + * memberTraitLanguage createMany + */ + export type memberTraitLanguageCreateManyArgs = { + /** + * The data used to create many memberTraitLanguages. + */ + data: memberTraitLanguageCreateManyInput | memberTraitLanguageCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitLanguage createManyAndReturn + */ + export type memberTraitLanguageCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * The data used to create many memberTraitLanguages. + */ + data: memberTraitLanguageCreateManyInput | memberTraitLanguageCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageIncludeCreateManyAndReturn | null + } + + /** + * memberTraitLanguage update + */ + export type memberTraitLanguageUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + /** + * The data needed to update a memberTraitLanguage. + */ + data: XOR + /** + * Choose, which memberTraitLanguage to update. + */ + where: memberTraitLanguageWhereUniqueInput + } + + /** + * memberTraitLanguage updateMany + */ + export type memberTraitLanguageUpdateManyArgs = { + /** + * The data used to update memberTraitLanguages. + */ + data: XOR + /** + * Filter which memberTraitLanguages to update + */ + where?: memberTraitLanguageWhereInput + /** + * Limit how many memberTraitLanguages to update. + */ + limit?: number + } + + /** + * memberTraitLanguage updateManyAndReturn + */ + export type memberTraitLanguageUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * The data used to update memberTraitLanguages. + */ + data: XOR + /** + * Filter which memberTraitLanguages to update + */ + where?: memberTraitLanguageWhereInput + /** + * Limit how many memberTraitLanguages to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitLanguage upsert + */ + export type memberTraitLanguageUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + /** + * The filter to search for the memberTraitLanguage to update in case it exists. + */ + where: memberTraitLanguageWhereUniqueInput + /** + * In case the memberTraitLanguage found by the `where` argument doesn't exist, create a new memberTraitLanguage with this data. + */ + create: XOR + /** + * In case the memberTraitLanguage was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitLanguage delete + */ + export type memberTraitLanguageDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + /** + * Filter which memberTraitLanguage to delete. + */ + where: memberTraitLanguageWhereUniqueInput + } + + /** + * memberTraitLanguage deleteMany + */ + export type memberTraitLanguageDeleteManyArgs = { + /** + * Filter which memberTraitLanguages to delete + */ + where?: memberTraitLanguageWhereInput + /** + * Limit how many memberTraitLanguages to delete. + */ + limit?: number + } + + /** + * memberTraitLanguage without action + */ + export type memberTraitLanguageDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitLanguage + */ + select?: memberTraitLanguageSelect | null + /** + * Omit specific fields from the memberTraitLanguage + */ + omit?: memberTraitLanguageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitLanguageInclude | null + } + + + /** + * Model memberTraitOnboardChecklist + */ + + export type AggregateMemberTraitOnboardChecklist = { + _count: MemberTraitOnboardChecklistCountAggregateOutputType | null + _avg: MemberTraitOnboardChecklistAvgAggregateOutputType | null + _sum: MemberTraitOnboardChecklistSumAggregateOutputType | null + _min: MemberTraitOnboardChecklistMinAggregateOutputType | null + _max: MemberTraitOnboardChecklistMaxAggregateOutputType | null + } + + export type MemberTraitOnboardChecklistAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + } + + export type MemberTraitOnboardChecklistSumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + } + + export type MemberTraitOnboardChecklistMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + listItemType: string | null + date: Date | null + message: string | null + status: string | null + skip: boolean | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitOnboardChecklistMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + listItemType: string | null + date: Date | null + message: string | null + status: string | null + skip: boolean | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitOnboardChecklistCountAggregateOutputType = { + id: number + memberTraitId: number + listItemType: number + date: number + message: number + status: number + skip: number + metadata: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitOnboardChecklistAvgAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitOnboardChecklistSumAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitOnboardChecklistMinAggregateInputType = { + id?: true + memberTraitId?: true + listItemType?: true + date?: true + message?: true + status?: true + skip?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitOnboardChecklistMaxAggregateInputType = { + id?: true + memberTraitId?: true + listItemType?: true + date?: true + message?: true + status?: true + skip?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitOnboardChecklistCountAggregateInputType = { + id?: true + memberTraitId?: true + listItemType?: true + date?: true + message?: true + status?: true + skip?: true + metadata?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitOnboardChecklistAggregateArgs = { + /** + * Filter which memberTraitOnboardChecklist to aggregate. + */ + where?: memberTraitOnboardChecklistWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitOnboardChecklists to fetch. + */ + orderBy?: memberTraitOnboardChecklistOrderByWithRelationInput | memberTraitOnboardChecklistOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitOnboardChecklistWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitOnboardChecklists 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` memberTraitOnboardChecklists. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitOnboardChecklists + **/ + _count?: true | MemberTraitOnboardChecklistCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitOnboardChecklistAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitOnboardChecklistSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitOnboardChecklistMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitOnboardChecklistMaxAggregateInputType + } + + export type GetMemberTraitOnboardChecklistAggregateType = { + [P in keyof T & keyof AggregateMemberTraitOnboardChecklist]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitOnboardChecklistGroupByArgs = { + where?: memberTraitOnboardChecklistWhereInput + orderBy?: memberTraitOnboardChecklistOrderByWithAggregationInput | memberTraitOnboardChecklistOrderByWithAggregationInput[] + by: MemberTraitOnboardChecklistScalarFieldEnum[] | MemberTraitOnboardChecklistScalarFieldEnum + having?: memberTraitOnboardChecklistScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitOnboardChecklistCountAggregateInputType | true + _avg?: MemberTraitOnboardChecklistAvgAggregateInputType + _sum?: MemberTraitOnboardChecklistSumAggregateInputType + _min?: MemberTraitOnboardChecklistMinAggregateInputType + _max?: MemberTraitOnboardChecklistMaxAggregateInputType + } + + export type MemberTraitOnboardChecklistGroupByOutputType = { + id: bigint + memberTraitId: bigint + listItemType: string + date: Date + message: string + status: string + skip: boolean | null + metadata: JsonValue | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitOnboardChecklistCountAggregateOutputType | null + _avg: MemberTraitOnboardChecklistAvgAggregateOutputType | null + _sum: MemberTraitOnboardChecklistSumAggregateOutputType | null + _min: MemberTraitOnboardChecklistMinAggregateOutputType | null + _max: MemberTraitOnboardChecklistMaxAggregateOutputType | null + } + + type GetMemberTraitOnboardChecklistGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitOnboardChecklistGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitOnboardChecklistSelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + listItemType?: boolean + date?: boolean + message?: boolean + status?: boolean + skip?: boolean + metadata?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitOnboardChecklist"]> + + export type memberTraitOnboardChecklistSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + listItemType?: boolean + date?: boolean + message?: boolean + status?: boolean + skip?: boolean + metadata?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitOnboardChecklist"]> + + export type memberTraitOnboardChecklistSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + listItemType?: boolean + date?: boolean + message?: boolean + status?: boolean + skip?: boolean + metadata?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitOnboardChecklist"]> + + export type memberTraitOnboardChecklistSelectScalar = { + id?: boolean + memberTraitId?: boolean + listItemType?: boolean + date?: boolean + message?: boolean + status?: boolean + skip?: boolean + metadata?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitOnboardChecklistOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "listItemType" | "date" | "message" | "status" | "skip" | "metadata" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitOnboardChecklist"]> + export type memberTraitOnboardChecklistInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitOnboardChecklistIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitOnboardChecklistIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitOnboardChecklistPayload = { + name: "memberTraitOnboardChecklist" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + listItemType: string + date: Date + message: string + status: string + skip: boolean | null + metadata: Prisma.JsonValue | null + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitOnboardChecklist"]> + composites: {} + } + + type memberTraitOnboardChecklistGetPayload = $Result.GetResult + + type memberTraitOnboardChecklistCountArgs = + Omit & { + select?: MemberTraitOnboardChecklistCountAggregateInputType | true + } + + export interface memberTraitOnboardChecklistDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitOnboardChecklist'], meta: { name: 'memberTraitOnboardChecklist' } } + /** + * Find zero or one MemberTraitOnboardChecklist that matches the filter. + * @param {memberTraitOnboardChecklistFindUniqueArgs} args - Arguments to find a MemberTraitOnboardChecklist + * @example + * // Get one MemberTraitOnboardChecklist + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitOnboardChecklistClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitOnboardChecklist that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitOnboardChecklistFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitOnboardChecklist + * @example + * // Get one MemberTraitOnboardChecklist + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitOnboardChecklistClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitOnboardChecklist 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 {memberTraitOnboardChecklistFindFirstArgs} args - Arguments to find a MemberTraitOnboardChecklist + * @example + * // Get one MemberTraitOnboardChecklist + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitOnboardChecklistClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitOnboardChecklist 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 {memberTraitOnboardChecklistFindFirstOrThrowArgs} args - Arguments to find a MemberTraitOnboardChecklist + * @example + * // Get one MemberTraitOnboardChecklist + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitOnboardChecklistClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitOnboardChecklists 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 {memberTraitOnboardChecklistFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitOnboardChecklists + * const memberTraitOnboardChecklists = await prisma.memberTraitOnboardChecklist.findMany() + * + * // Get first 10 MemberTraitOnboardChecklists + * const memberTraitOnboardChecklists = await prisma.memberTraitOnboardChecklist.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitOnboardChecklistWithIdOnly = await prisma.memberTraitOnboardChecklist.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitOnboardChecklist. + * @param {memberTraitOnboardChecklistCreateArgs} args - Arguments to create a MemberTraitOnboardChecklist. + * @example + * // Create one MemberTraitOnboardChecklist + * const MemberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.create({ + * data: { + * // ... data to create a MemberTraitOnboardChecklist + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitOnboardChecklistClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitOnboardChecklists. + * @param {memberTraitOnboardChecklistCreateManyArgs} args - Arguments to create many MemberTraitOnboardChecklists. + * @example + * // Create many MemberTraitOnboardChecklists + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitOnboardChecklists and returns the data saved in the database. + * @param {memberTraitOnboardChecklistCreateManyAndReturnArgs} args - Arguments to create many MemberTraitOnboardChecklists. + * @example + * // Create many MemberTraitOnboardChecklists + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitOnboardChecklists and only return the `id` + * const memberTraitOnboardChecklistWithIdOnly = await prisma.memberTraitOnboardChecklist.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitOnboardChecklist. + * @param {memberTraitOnboardChecklistDeleteArgs} args - Arguments to delete one MemberTraitOnboardChecklist. + * @example + * // Delete one MemberTraitOnboardChecklist + * const MemberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.delete({ + * where: { + * // ... filter to delete one MemberTraitOnboardChecklist + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitOnboardChecklistClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitOnboardChecklist. + * @param {memberTraitOnboardChecklistUpdateArgs} args - Arguments to update one MemberTraitOnboardChecklist. + * @example + * // Update one MemberTraitOnboardChecklist + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitOnboardChecklistClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitOnboardChecklists. + * @param {memberTraitOnboardChecklistDeleteManyArgs} args - Arguments to filter MemberTraitOnboardChecklists to delete. + * @example + * // Delete a few MemberTraitOnboardChecklists + * const { count } = await prisma.memberTraitOnboardChecklist.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitOnboardChecklists. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitOnboardChecklistUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitOnboardChecklists + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitOnboardChecklists and returns the data updated in the database. + * @param {memberTraitOnboardChecklistUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitOnboardChecklists. + * @example + * // Update many MemberTraitOnboardChecklists + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitOnboardChecklists and only return the `id` + * const memberTraitOnboardChecklistWithIdOnly = await prisma.memberTraitOnboardChecklist.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitOnboardChecklist. + * @param {memberTraitOnboardChecklistUpsertArgs} args - Arguments to update or create a MemberTraitOnboardChecklist. + * @example + * // Update or create a MemberTraitOnboardChecklist + * const memberTraitOnboardChecklist = await prisma.memberTraitOnboardChecklist.upsert({ + * create: { + * // ... data to create a MemberTraitOnboardChecklist + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitOnboardChecklist we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitOnboardChecklistClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitOnboardChecklists. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitOnboardChecklistCountArgs} args - Arguments to filter MemberTraitOnboardChecklists to count. + * @example + * // Count the number of MemberTraitOnboardChecklists + * const count = await prisma.memberTraitOnboardChecklist.count({ + * where: { + * // ... the filter for the MemberTraitOnboardChecklists we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitOnboardChecklist. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitOnboardChecklistAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitOnboardChecklist. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitOnboardChecklistGroupByArgs} 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 memberTraitOnboardChecklistGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitOnboardChecklistGroupByArgs['orderBy'] } + : { orderBy?: memberTraitOnboardChecklistGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitOnboardChecklistGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitOnboardChecklist model + */ + readonly fields: memberTraitOnboardChecklistFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitOnboardChecklist. + * 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__memberTraitOnboardChecklistClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitOnboardChecklist model + */ + interface memberTraitOnboardChecklistFieldRefs { + readonly id: FieldRef<"memberTraitOnboardChecklist", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitOnboardChecklist", 'BigInt'> + readonly listItemType: FieldRef<"memberTraitOnboardChecklist", 'String'> + readonly date: FieldRef<"memberTraitOnboardChecklist", 'DateTime'> + readonly message: FieldRef<"memberTraitOnboardChecklist", 'String'> + readonly status: FieldRef<"memberTraitOnboardChecklist", 'String'> + readonly skip: FieldRef<"memberTraitOnboardChecklist", 'Boolean'> + readonly metadata: FieldRef<"memberTraitOnboardChecklist", 'Json'> + readonly createdAt: FieldRef<"memberTraitOnboardChecklist", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitOnboardChecklist", 'String'> + readonly updatedAt: FieldRef<"memberTraitOnboardChecklist", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitOnboardChecklist", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitOnboardChecklist findUnique + */ + export type memberTraitOnboardChecklistFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + /** + * Filter, which memberTraitOnboardChecklist to fetch. + */ + where: memberTraitOnboardChecklistWhereUniqueInput + } + + /** + * memberTraitOnboardChecklist findUniqueOrThrow + */ + export type memberTraitOnboardChecklistFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + /** + * Filter, which memberTraitOnboardChecklist to fetch. + */ + where: memberTraitOnboardChecklistWhereUniqueInput + } + + /** + * memberTraitOnboardChecklist findFirst + */ + export type memberTraitOnboardChecklistFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + /** + * Filter, which memberTraitOnboardChecklist to fetch. + */ + where?: memberTraitOnboardChecklistWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitOnboardChecklists to fetch. + */ + orderBy?: memberTraitOnboardChecklistOrderByWithRelationInput | memberTraitOnboardChecklistOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitOnboardChecklists. + */ + cursor?: memberTraitOnboardChecklistWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitOnboardChecklists 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` memberTraitOnboardChecklists. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitOnboardChecklists. + */ + distinct?: MemberTraitOnboardChecklistScalarFieldEnum | MemberTraitOnboardChecklistScalarFieldEnum[] + } + + /** + * memberTraitOnboardChecklist findFirstOrThrow + */ + export type memberTraitOnboardChecklistFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + /** + * Filter, which memberTraitOnboardChecklist to fetch. + */ + where?: memberTraitOnboardChecklistWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitOnboardChecklists to fetch. + */ + orderBy?: memberTraitOnboardChecklistOrderByWithRelationInput | memberTraitOnboardChecklistOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitOnboardChecklists. + */ + cursor?: memberTraitOnboardChecklistWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitOnboardChecklists 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` memberTraitOnboardChecklists. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitOnboardChecklists. + */ + distinct?: MemberTraitOnboardChecklistScalarFieldEnum | MemberTraitOnboardChecklistScalarFieldEnum[] + } + + /** + * memberTraitOnboardChecklist findMany + */ + export type memberTraitOnboardChecklistFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + /** + * Filter, which memberTraitOnboardChecklists to fetch. + */ + where?: memberTraitOnboardChecklistWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitOnboardChecklists to fetch. + */ + orderBy?: memberTraitOnboardChecklistOrderByWithRelationInput | memberTraitOnboardChecklistOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitOnboardChecklists. + */ + cursor?: memberTraitOnboardChecklistWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitOnboardChecklists 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` memberTraitOnboardChecklists. + */ + skip?: number + distinct?: MemberTraitOnboardChecklistScalarFieldEnum | MemberTraitOnboardChecklistScalarFieldEnum[] + } + + /** + * memberTraitOnboardChecklist create + */ + export type memberTraitOnboardChecklistCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + /** + * The data needed to create a memberTraitOnboardChecklist. + */ + data: XOR + } + + /** + * memberTraitOnboardChecklist createMany + */ + export type memberTraitOnboardChecklistCreateManyArgs = { + /** + * The data used to create many memberTraitOnboardChecklists. + */ + data: memberTraitOnboardChecklistCreateManyInput | memberTraitOnboardChecklistCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitOnboardChecklist createManyAndReturn + */ + export type memberTraitOnboardChecklistCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * The data used to create many memberTraitOnboardChecklists. + */ + data: memberTraitOnboardChecklistCreateManyInput | memberTraitOnboardChecklistCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistIncludeCreateManyAndReturn | null + } + + /** + * memberTraitOnboardChecklist update + */ + export type memberTraitOnboardChecklistUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + /** + * The data needed to update a memberTraitOnboardChecklist. + */ + data: XOR + /** + * Choose, which memberTraitOnboardChecklist to update. + */ + where: memberTraitOnboardChecklistWhereUniqueInput + } + + /** + * memberTraitOnboardChecklist updateMany + */ + export type memberTraitOnboardChecklistUpdateManyArgs = { + /** + * The data used to update memberTraitOnboardChecklists. + */ + data: XOR + /** + * Filter which memberTraitOnboardChecklists to update + */ + where?: memberTraitOnboardChecklistWhereInput + /** + * Limit how many memberTraitOnboardChecklists to update. + */ + limit?: number + } + + /** + * memberTraitOnboardChecklist updateManyAndReturn + */ + export type memberTraitOnboardChecklistUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * The data used to update memberTraitOnboardChecklists. + */ + data: XOR + /** + * Filter which memberTraitOnboardChecklists to update + */ + where?: memberTraitOnboardChecklistWhereInput + /** + * Limit how many memberTraitOnboardChecklists to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitOnboardChecklist upsert + */ + export type memberTraitOnboardChecklistUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + /** + * The filter to search for the memberTraitOnboardChecklist to update in case it exists. + */ + where: memberTraitOnboardChecklistWhereUniqueInput + /** + * In case the memberTraitOnboardChecklist found by the `where` argument doesn't exist, create a new memberTraitOnboardChecklist with this data. + */ + create: XOR + /** + * In case the memberTraitOnboardChecklist was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitOnboardChecklist delete + */ + export type memberTraitOnboardChecklistDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + /** + * Filter which memberTraitOnboardChecklist to delete. + */ + where: memberTraitOnboardChecklistWhereUniqueInput + } + + /** + * memberTraitOnboardChecklist deleteMany + */ + export type memberTraitOnboardChecklistDeleteManyArgs = { + /** + * Filter which memberTraitOnboardChecklists to delete + */ + where?: memberTraitOnboardChecklistWhereInput + /** + * Limit how many memberTraitOnboardChecklists to delete. + */ + limit?: number + } + + /** + * memberTraitOnboardChecklist without action + */ + export type memberTraitOnboardChecklistDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitOnboardChecklist + */ + select?: memberTraitOnboardChecklistSelect | null + /** + * Omit specific fields from the memberTraitOnboardChecklist + */ + omit?: memberTraitOnboardChecklistOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitOnboardChecklistInclude | null + } + + + /** + * Model memberTraitPersonalization + */ + + export type AggregateMemberTraitPersonalization = { + _count: MemberTraitPersonalizationCountAggregateOutputType | null + _avg: MemberTraitPersonalizationAvgAggregateOutputType | null + _sum: MemberTraitPersonalizationSumAggregateOutputType | null + _min: MemberTraitPersonalizationMinAggregateOutputType | null + _max: MemberTraitPersonalizationMaxAggregateOutputType | null + } + + export type MemberTraitPersonalizationAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + } + + export type MemberTraitPersonalizationSumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + } + + export type MemberTraitPersonalizationMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + key: string | null + private: boolean | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitPersonalizationMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + key: string | null + private: boolean | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitPersonalizationCountAggregateOutputType = { + id: number + memberTraitId: number + key: number + value: number + private: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitPersonalizationAvgAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitPersonalizationSumAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitPersonalizationMinAggregateInputType = { + id?: true + memberTraitId?: true + key?: true + private?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitPersonalizationMaxAggregateInputType = { + id?: true + memberTraitId?: true + key?: true + private?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitPersonalizationCountAggregateInputType = { + id?: true + memberTraitId?: true + key?: true + value?: true + private?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitPersonalizationAggregateArgs = { + /** + * Filter which memberTraitPersonalization to aggregate. + */ + where?: memberTraitPersonalizationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitPersonalizations to fetch. + */ + orderBy?: memberTraitPersonalizationOrderByWithRelationInput | memberTraitPersonalizationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitPersonalizationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitPersonalizations 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` memberTraitPersonalizations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitPersonalizations + **/ + _count?: true | MemberTraitPersonalizationCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitPersonalizationAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitPersonalizationSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitPersonalizationMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitPersonalizationMaxAggregateInputType + } + + export type GetMemberTraitPersonalizationAggregateType = { + [P in keyof T & keyof AggregateMemberTraitPersonalization]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitPersonalizationGroupByArgs = { + where?: memberTraitPersonalizationWhereInput + orderBy?: memberTraitPersonalizationOrderByWithAggregationInput | memberTraitPersonalizationOrderByWithAggregationInput[] + by: MemberTraitPersonalizationScalarFieldEnum[] | MemberTraitPersonalizationScalarFieldEnum + having?: memberTraitPersonalizationScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitPersonalizationCountAggregateInputType | true + _avg?: MemberTraitPersonalizationAvgAggregateInputType + _sum?: MemberTraitPersonalizationSumAggregateInputType + _min?: MemberTraitPersonalizationMinAggregateInputType + _max?: MemberTraitPersonalizationMaxAggregateInputType + } + + export type MemberTraitPersonalizationGroupByOutputType = { + id: bigint + memberTraitId: bigint + key: string | null + value: JsonValue | null + private: boolean + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitPersonalizationCountAggregateOutputType | null + _avg: MemberTraitPersonalizationAvgAggregateOutputType | null + _sum: MemberTraitPersonalizationSumAggregateOutputType | null + _min: MemberTraitPersonalizationMinAggregateOutputType | null + _max: MemberTraitPersonalizationMaxAggregateOutputType | null + } + + type GetMemberTraitPersonalizationGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitPersonalizationGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitPersonalizationSelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + key?: boolean + value?: boolean + private?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitPersonalization"]> + + export type memberTraitPersonalizationSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + key?: boolean + value?: boolean + private?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitPersonalization"]> + + export type memberTraitPersonalizationSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + key?: boolean + value?: boolean + private?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitPersonalization"]> + + export type memberTraitPersonalizationSelectScalar = { + id?: boolean + memberTraitId?: boolean + key?: boolean + value?: boolean + private?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitPersonalizationOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "key" | "value" | "private" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitPersonalization"]> + export type memberTraitPersonalizationInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitPersonalizationIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitPersonalizationIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitPersonalizationPayload = { + name: "memberTraitPersonalization" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + key: string | null + value: Prisma.JsonValue | null + private: boolean + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitPersonalization"]> + composites: {} + } + + type memberTraitPersonalizationGetPayload = $Result.GetResult + + type memberTraitPersonalizationCountArgs = + Omit & { + select?: MemberTraitPersonalizationCountAggregateInputType | true + } + + export interface memberTraitPersonalizationDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitPersonalization'], meta: { name: 'memberTraitPersonalization' } } + /** + * Find zero or one MemberTraitPersonalization that matches the filter. + * @param {memberTraitPersonalizationFindUniqueArgs} args - Arguments to find a MemberTraitPersonalization + * @example + * // Get one MemberTraitPersonalization + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitPersonalizationClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitPersonalization that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitPersonalizationFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitPersonalization + * @example + * // Get one MemberTraitPersonalization + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitPersonalizationClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitPersonalization 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 {memberTraitPersonalizationFindFirstArgs} args - Arguments to find a MemberTraitPersonalization + * @example + * // Get one MemberTraitPersonalization + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitPersonalizationClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitPersonalization 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 {memberTraitPersonalizationFindFirstOrThrowArgs} args - Arguments to find a MemberTraitPersonalization + * @example + * // Get one MemberTraitPersonalization + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitPersonalizationClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitPersonalizations 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 {memberTraitPersonalizationFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitPersonalizations + * const memberTraitPersonalizations = await prisma.memberTraitPersonalization.findMany() + * + * // Get first 10 MemberTraitPersonalizations + * const memberTraitPersonalizations = await prisma.memberTraitPersonalization.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitPersonalizationWithIdOnly = await prisma.memberTraitPersonalization.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitPersonalization. + * @param {memberTraitPersonalizationCreateArgs} args - Arguments to create a MemberTraitPersonalization. + * @example + * // Create one MemberTraitPersonalization + * const MemberTraitPersonalization = await prisma.memberTraitPersonalization.create({ + * data: { + * // ... data to create a MemberTraitPersonalization + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitPersonalizationClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitPersonalizations. + * @param {memberTraitPersonalizationCreateManyArgs} args - Arguments to create many MemberTraitPersonalizations. + * @example + * // Create many MemberTraitPersonalizations + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitPersonalizations and returns the data saved in the database. + * @param {memberTraitPersonalizationCreateManyAndReturnArgs} args - Arguments to create many MemberTraitPersonalizations. + * @example + * // Create many MemberTraitPersonalizations + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitPersonalizations and only return the `id` + * const memberTraitPersonalizationWithIdOnly = await prisma.memberTraitPersonalization.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitPersonalization. + * @param {memberTraitPersonalizationDeleteArgs} args - Arguments to delete one MemberTraitPersonalization. + * @example + * // Delete one MemberTraitPersonalization + * const MemberTraitPersonalization = await prisma.memberTraitPersonalization.delete({ + * where: { + * // ... filter to delete one MemberTraitPersonalization + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitPersonalizationClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitPersonalization. + * @param {memberTraitPersonalizationUpdateArgs} args - Arguments to update one MemberTraitPersonalization. + * @example + * // Update one MemberTraitPersonalization + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitPersonalizationClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitPersonalizations. + * @param {memberTraitPersonalizationDeleteManyArgs} args - Arguments to filter MemberTraitPersonalizations to delete. + * @example + * // Delete a few MemberTraitPersonalizations + * const { count } = await prisma.memberTraitPersonalization.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitPersonalizations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitPersonalizationUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitPersonalizations + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitPersonalizations and returns the data updated in the database. + * @param {memberTraitPersonalizationUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitPersonalizations. + * @example + * // Update many MemberTraitPersonalizations + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitPersonalizations and only return the `id` + * const memberTraitPersonalizationWithIdOnly = await prisma.memberTraitPersonalization.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitPersonalization. + * @param {memberTraitPersonalizationUpsertArgs} args - Arguments to update or create a MemberTraitPersonalization. + * @example + * // Update or create a MemberTraitPersonalization + * const memberTraitPersonalization = await prisma.memberTraitPersonalization.upsert({ + * create: { + * // ... data to create a MemberTraitPersonalization + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitPersonalization we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitPersonalizationClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitPersonalizations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitPersonalizationCountArgs} args - Arguments to filter MemberTraitPersonalizations to count. + * @example + * // Count the number of MemberTraitPersonalizations + * const count = await prisma.memberTraitPersonalization.count({ + * where: { + * // ... the filter for the MemberTraitPersonalizations we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitPersonalization. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitPersonalizationAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitPersonalization. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitPersonalizationGroupByArgs} 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 memberTraitPersonalizationGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitPersonalizationGroupByArgs['orderBy'] } + : { orderBy?: memberTraitPersonalizationGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitPersonalizationGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitPersonalization model + */ + readonly fields: memberTraitPersonalizationFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitPersonalization. + * 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__memberTraitPersonalizationClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitPersonalization model + */ + interface memberTraitPersonalizationFieldRefs { + readonly id: FieldRef<"memberTraitPersonalization", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitPersonalization", 'BigInt'> + readonly key: FieldRef<"memberTraitPersonalization", 'String'> + readonly value: FieldRef<"memberTraitPersonalization", 'Json'> + readonly private: FieldRef<"memberTraitPersonalization", 'Boolean'> + readonly createdAt: FieldRef<"memberTraitPersonalization", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitPersonalization", 'String'> + readonly updatedAt: FieldRef<"memberTraitPersonalization", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitPersonalization", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitPersonalization findUnique + */ + export type memberTraitPersonalizationFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + /** + * Filter, which memberTraitPersonalization to fetch. + */ + where: memberTraitPersonalizationWhereUniqueInput + } + + /** + * memberTraitPersonalization findUniqueOrThrow + */ + export type memberTraitPersonalizationFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + /** + * Filter, which memberTraitPersonalization to fetch. + */ + where: memberTraitPersonalizationWhereUniqueInput + } + + /** + * memberTraitPersonalization findFirst + */ + export type memberTraitPersonalizationFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + /** + * Filter, which memberTraitPersonalization to fetch. + */ + where?: memberTraitPersonalizationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitPersonalizations to fetch. + */ + orderBy?: memberTraitPersonalizationOrderByWithRelationInput | memberTraitPersonalizationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitPersonalizations. + */ + cursor?: memberTraitPersonalizationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitPersonalizations 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` memberTraitPersonalizations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitPersonalizations. + */ + distinct?: MemberTraitPersonalizationScalarFieldEnum | MemberTraitPersonalizationScalarFieldEnum[] + } + + /** + * memberTraitPersonalization findFirstOrThrow + */ + export type memberTraitPersonalizationFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + /** + * Filter, which memberTraitPersonalization to fetch. + */ + where?: memberTraitPersonalizationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitPersonalizations to fetch. + */ + orderBy?: memberTraitPersonalizationOrderByWithRelationInput | memberTraitPersonalizationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitPersonalizations. + */ + cursor?: memberTraitPersonalizationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitPersonalizations 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` memberTraitPersonalizations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitPersonalizations. + */ + distinct?: MemberTraitPersonalizationScalarFieldEnum | MemberTraitPersonalizationScalarFieldEnum[] + } + + /** + * memberTraitPersonalization findMany + */ + export type memberTraitPersonalizationFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + /** + * Filter, which memberTraitPersonalizations to fetch. + */ + where?: memberTraitPersonalizationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitPersonalizations to fetch. + */ + orderBy?: memberTraitPersonalizationOrderByWithRelationInput | memberTraitPersonalizationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitPersonalizations. + */ + cursor?: memberTraitPersonalizationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitPersonalizations 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` memberTraitPersonalizations. + */ + skip?: number + distinct?: MemberTraitPersonalizationScalarFieldEnum | MemberTraitPersonalizationScalarFieldEnum[] + } + + /** + * memberTraitPersonalization create + */ + export type memberTraitPersonalizationCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + /** + * The data needed to create a memberTraitPersonalization. + */ + data: XOR + } + + /** + * memberTraitPersonalization createMany + */ + export type memberTraitPersonalizationCreateManyArgs = { + /** + * The data used to create many memberTraitPersonalizations. + */ + data: memberTraitPersonalizationCreateManyInput | memberTraitPersonalizationCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitPersonalization createManyAndReturn + */ + export type memberTraitPersonalizationCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * The data used to create many memberTraitPersonalizations. + */ + data: memberTraitPersonalizationCreateManyInput | memberTraitPersonalizationCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationIncludeCreateManyAndReturn | null + } + + /** + * memberTraitPersonalization update + */ + export type memberTraitPersonalizationUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + /** + * The data needed to update a memberTraitPersonalization. + */ + data: XOR + /** + * Choose, which memberTraitPersonalization to update. + */ + where: memberTraitPersonalizationWhereUniqueInput + } + + /** + * memberTraitPersonalization updateMany + */ + export type memberTraitPersonalizationUpdateManyArgs = { + /** + * The data used to update memberTraitPersonalizations. + */ + data: XOR + /** + * Filter which memberTraitPersonalizations to update + */ + where?: memberTraitPersonalizationWhereInput + /** + * Limit how many memberTraitPersonalizations to update. + */ + limit?: number + } + + /** + * memberTraitPersonalization updateManyAndReturn + */ + export type memberTraitPersonalizationUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * The data used to update memberTraitPersonalizations. + */ + data: XOR + /** + * Filter which memberTraitPersonalizations to update + */ + where?: memberTraitPersonalizationWhereInput + /** + * Limit how many memberTraitPersonalizations to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitPersonalization upsert + */ + export type memberTraitPersonalizationUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + /** + * The filter to search for the memberTraitPersonalization to update in case it exists. + */ + where: memberTraitPersonalizationWhereUniqueInput + /** + * In case the memberTraitPersonalization found by the `where` argument doesn't exist, create a new memberTraitPersonalization with this data. + */ + create: XOR + /** + * In case the memberTraitPersonalization was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitPersonalization delete + */ + export type memberTraitPersonalizationDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + /** + * Filter which memberTraitPersonalization to delete. + */ + where: memberTraitPersonalizationWhereUniqueInput + } + + /** + * memberTraitPersonalization deleteMany + */ + export type memberTraitPersonalizationDeleteManyArgs = { + /** + * Filter which memberTraitPersonalizations to delete + */ + where?: memberTraitPersonalizationWhereInput + /** + * Limit how many memberTraitPersonalizations to delete. + */ + limit?: number + } + + /** + * memberTraitPersonalization without action + */ + export type memberTraitPersonalizationDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitPersonalization + */ + select?: memberTraitPersonalizationSelect | null + /** + * Omit specific fields from the memberTraitPersonalization + */ + omit?: memberTraitPersonalizationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitPersonalizationInclude | null + } + + + /** + * Model memberTraitCommunity + */ + + export type AggregateMemberTraitCommunity = { + _count: MemberTraitCommunityCountAggregateOutputType | null + _avg: MemberTraitCommunityAvgAggregateOutputType | null + _sum: MemberTraitCommunitySumAggregateOutputType | null + _min: MemberTraitCommunityMinAggregateOutputType | null + _max: MemberTraitCommunityMaxAggregateOutputType | null + } + + export type MemberTraitCommunityAvgAggregateOutputType = { + id: number | null + memberTraitId: number | null + } + + export type MemberTraitCommunitySumAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + } + + export type MemberTraitCommunityMinAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + communityName: string | null + status: boolean | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitCommunityMaxAggregateOutputType = { + id: bigint | null + memberTraitId: bigint | null + communityName: string | null + status: boolean | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitCommunityCountAggregateOutputType = { + id: number + memberTraitId: number + communityName: number + status: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitCommunityAvgAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitCommunitySumAggregateInputType = { + id?: true + memberTraitId?: true + } + + export type MemberTraitCommunityMinAggregateInputType = { + id?: true + memberTraitId?: true + communityName?: true + status?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitCommunityMaxAggregateInputType = { + id?: true + memberTraitId?: true + communityName?: true + status?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitCommunityCountAggregateInputType = { + id?: true + memberTraitId?: true + communityName?: true + status?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitCommunityAggregateArgs = { + /** + * Filter which memberTraitCommunity to aggregate. + */ + where?: memberTraitCommunityWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitCommunities to fetch. + */ + orderBy?: memberTraitCommunityOrderByWithRelationInput | memberTraitCommunityOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitCommunityWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitCommunities 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` memberTraitCommunities. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraitCommunities + **/ + _count?: true | MemberTraitCommunityCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitCommunityAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitCommunitySumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitCommunityMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitCommunityMaxAggregateInputType + } + + export type GetMemberTraitCommunityAggregateType = { + [P in keyof T & keyof AggregateMemberTraitCommunity]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitCommunityGroupByArgs = { + where?: memberTraitCommunityWhereInput + orderBy?: memberTraitCommunityOrderByWithAggregationInput | memberTraitCommunityOrderByWithAggregationInput[] + by: MemberTraitCommunityScalarFieldEnum[] | MemberTraitCommunityScalarFieldEnum + having?: memberTraitCommunityScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitCommunityCountAggregateInputType | true + _avg?: MemberTraitCommunityAvgAggregateInputType + _sum?: MemberTraitCommunitySumAggregateInputType + _min?: MemberTraitCommunityMinAggregateInputType + _max?: MemberTraitCommunityMaxAggregateInputType + } + + export type MemberTraitCommunityGroupByOutputType = { + id: bigint + memberTraitId: bigint + communityName: string + status: boolean + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitCommunityCountAggregateOutputType | null + _avg: MemberTraitCommunityAvgAggregateOutputType | null + _sum: MemberTraitCommunitySumAggregateOutputType | null + _min: MemberTraitCommunityMinAggregateOutputType | null + _max: MemberTraitCommunityMaxAggregateOutputType | null + } + + type GetMemberTraitCommunityGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitCommunityGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitCommunitySelect = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + communityName?: boolean + status?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitCommunity"]> + + export type memberTraitCommunitySelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + communityName?: boolean + status?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitCommunity"]> + + export type memberTraitCommunitySelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + memberTraitId?: boolean + communityName?: boolean + status?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + memberTraits?: boolean | memberTraitsDefaultArgs + }, ExtArgs["result"]["memberTraitCommunity"]> + + export type memberTraitCommunitySelectScalar = { + id?: boolean + memberTraitId?: boolean + communityName?: boolean + status?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitCommunityOmit = $Extensions.GetOmit<"id" | "memberTraitId" | "communityName" | "status" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraitCommunity"]> + export type memberTraitCommunityInclude = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitCommunityIncludeCreateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + export type memberTraitCommunityIncludeUpdateManyAndReturn = { + memberTraits?: boolean | memberTraitsDefaultArgs + } + + export type $memberTraitCommunityPayload = { + name: "memberTraitCommunity" + objects: { + memberTraits: Prisma.$memberTraitsPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + memberTraitId: bigint + communityName: string + status: boolean + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraitCommunity"]> + composites: {} + } + + type memberTraitCommunityGetPayload = $Result.GetResult + + type memberTraitCommunityCountArgs = + Omit & { + select?: MemberTraitCommunityCountAggregateInputType | true + } + + export interface memberTraitCommunityDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraitCommunity'], meta: { name: 'memberTraitCommunity' } } + /** + * Find zero or one MemberTraitCommunity that matches the filter. + * @param {memberTraitCommunityFindUniqueArgs} args - Arguments to find a MemberTraitCommunity + * @example + * // Get one MemberTraitCommunity + * const memberTraitCommunity = await prisma.memberTraitCommunity.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitCommunityClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraitCommunity that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitCommunityFindUniqueOrThrowArgs} args - Arguments to find a MemberTraitCommunity + * @example + * // Get one MemberTraitCommunity + * const memberTraitCommunity = await prisma.memberTraitCommunity.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitCommunityClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitCommunity 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 {memberTraitCommunityFindFirstArgs} args - Arguments to find a MemberTraitCommunity + * @example + * // Get one MemberTraitCommunity + * const memberTraitCommunity = await prisma.memberTraitCommunity.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitCommunityClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraitCommunity 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 {memberTraitCommunityFindFirstOrThrowArgs} args - Arguments to find a MemberTraitCommunity + * @example + * // Get one MemberTraitCommunity + * const memberTraitCommunity = await prisma.memberTraitCommunity.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitCommunityClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraitCommunities 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 {memberTraitCommunityFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraitCommunities + * const memberTraitCommunities = await prisma.memberTraitCommunity.findMany() + * + * // Get first 10 MemberTraitCommunities + * const memberTraitCommunities = await prisma.memberTraitCommunity.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitCommunityWithIdOnly = await prisma.memberTraitCommunity.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraitCommunity. + * @param {memberTraitCommunityCreateArgs} args - Arguments to create a MemberTraitCommunity. + * @example + * // Create one MemberTraitCommunity + * const MemberTraitCommunity = await prisma.memberTraitCommunity.create({ + * data: { + * // ... data to create a MemberTraitCommunity + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitCommunityClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraitCommunities. + * @param {memberTraitCommunityCreateManyArgs} args - Arguments to create many MemberTraitCommunities. + * @example + * // Create many MemberTraitCommunities + * const memberTraitCommunity = await prisma.memberTraitCommunity.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraitCommunities and returns the data saved in the database. + * @param {memberTraitCommunityCreateManyAndReturnArgs} args - Arguments to create many MemberTraitCommunities. + * @example + * // Create many MemberTraitCommunities + * const memberTraitCommunity = await prisma.memberTraitCommunity.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraitCommunities and only return the `id` + * const memberTraitCommunityWithIdOnly = await prisma.memberTraitCommunity.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraitCommunity. + * @param {memberTraitCommunityDeleteArgs} args - Arguments to delete one MemberTraitCommunity. + * @example + * // Delete one MemberTraitCommunity + * const MemberTraitCommunity = await prisma.memberTraitCommunity.delete({ + * where: { + * // ... filter to delete one MemberTraitCommunity + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitCommunityClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraitCommunity. + * @param {memberTraitCommunityUpdateArgs} args - Arguments to update one MemberTraitCommunity. + * @example + * // Update one MemberTraitCommunity + * const memberTraitCommunity = await prisma.memberTraitCommunity.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitCommunityClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraitCommunities. + * @param {memberTraitCommunityDeleteManyArgs} args - Arguments to filter MemberTraitCommunities to delete. + * @example + * // Delete a few MemberTraitCommunities + * const { count } = await prisma.memberTraitCommunity.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitCommunities. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitCommunityUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraitCommunities + * const memberTraitCommunity = await prisma.memberTraitCommunity.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraitCommunities and returns the data updated in the database. + * @param {memberTraitCommunityUpdateManyAndReturnArgs} args - Arguments to update many MemberTraitCommunities. + * @example + * // Update many MemberTraitCommunities + * const memberTraitCommunity = await prisma.memberTraitCommunity.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraitCommunities and only return the `id` + * const memberTraitCommunityWithIdOnly = await prisma.memberTraitCommunity.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraitCommunity. + * @param {memberTraitCommunityUpsertArgs} args - Arguments to update or create a MemberTraitCommunity. + * @example + * // Update or create a MemberTraitCommunity + * const memberTraitCommunity = await prisma.memberTraitCommunity.upsert({ + * create: { + * // ... data to create a MemberTraitCommunity + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraitCommunity we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitCommunityClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraitCommunities. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitCommunityCountArgs} args - Arguments to filter MemberTraitCommunities to count. + * @example + * // Count the number of MemberTraitCommunities + * const count = await prisma.memberTraitCommunity.count({ + * where: { + * // ... the filter for the MemberTraitCommunities we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraitCommunity. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitCommunityAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraitCommunity. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitCommunityGroupByArgs} 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 memberTraitCommunityGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitCommunityGroupByArgs['orderBy'] } + : { orderBy?: memberTraitCommunityGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberTraitCommunityGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberTraitCommunity model + */ + readonly fields: memberTraitCommunityFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberTraitCommunity. + * 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__memberTraitCommunityClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberTraitCommunity model + */ + interface memberTraitCommunityFieldRefs { + readonly id: FieldRef<"memberTraitCommunity", 'BigInt'> + readonly memberTraitId: FieldRef<"memberTraitCommunity", 'BigInt'> + readonly communityName: FieldRef<"memberTraitCommunity", 'String'> + readonly status: FieldRef<"memberTraitCommunity", 'Boolean'> + readonly createdAt: FieldRef<"memberTraitCommunity", 'DateTime'> + readonly createdBy: FieldRef<"memberTraitCommunity", 'String'> + readonly updatedAt: FieldRef<"memberTraitCommunity", 'DateTime'> + readonly updatedBy: FieldRef<"memberTraitCommunity", 'String'> + } + + + // Custom InputTypes + /** + * memberTraitCommunity findUnique + */ + export type memberTraitCommunityFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + /** + * Filter, which memberTraitCommunity to fetch. + */ + where: memberTraitCommunityWhereUniqueInput + } + + /** + * memberTraitCommunity findUniqueOrThrow + */ + export type memberTraitCommunityFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + /** + * Filter, which memberTraitCommunity to fetch. + */ + where: memberTraitCommunityWhereUniqueInput + } + + /** + * memberTraitCommunity findFirst + */ + export type memberTraitCommunityFindFirstArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + /** + * Filter, which memberTraitCommunity to fetch. + */ + where?: memberTraitCommunityWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitCommunities to fetch. + */ + orderBy?: memberTraitCommunityOrderByWithRelationInput | memberTraitCommunityOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitCommunities. + */ + cursor?: memberTraitCommunityWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitCommunities 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` memberTraitCommunities. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitCommunities. + */ + distinct?: MemberTraitCommunityScalarFieldEnum | MemberTraitCommunityScalarFieldEnum[] + } + + /** + * memberTraitCommunity findFirstOrThrow + */ + export type memberTraitCommunityFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + /** + * Filter, which memberTraitCommunity to fetch. + */ + where?: memberTraitCommunityWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitCommunities to fetch. + */ + orderBy?: memberTraitCommunityOrderByWithRelationInput | memberTraitCommunityOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberTraitCommunities. + */ + cursor?: memberTraitCommunityWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitCommunities 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` memberTraitCommunities. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberTraitCommunities. + */ + distinct?: MemberTraitCommunityScalarFieldEnum | MemberTraitCommunityScalarFieldEnum[] + } + + /** + * memberTraitCommunity findMany + */ + export type memberTraitCommunityFindManyArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + /** + * Filter, which memberTraitCommunities to fetch. + */ + where?: memberTraitCommunityWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraitCommunities to fetch. + */ + orderBy?: memberTraitCommunityOrderByWithRelationInput | memberTraitCommunityOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberTraitCommunities. + */ + cursor?: memberTraitCommunityWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraitCommunities 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` memberTraitCommunities. + */ + skip?: number + distinct?: MemberTraitCommunityScalarFieldEnum | MemberTraitCommunityScalarFieldEnum[] + } + + /** + * memberTraitCommunity create + */ + export type memberTraitCommunityCreateArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + /** + * The data needed to create a memberTraitCommunity. + */ + data: XOR + } + + /** + * memberTraitCommunity createMany + */ + export type memberTraitCommunityCreateManyArgs = { + /** + * The data used to create many memberTraitCommunities. + */ + data: memberTraitCommunityCreateManyInput | memberTraitCommunityCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberTraitCommunity createManyAndReturn + */ + export type memberTraitCommunityCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * The data used to create many memberTraitCommunities. + */ + data: memberTraitCommunityCreateManyInput | memberTraitCommunityCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityIncludeCreateManyAndReturn | null + } + + /** + * memberTraitCommunity update + */ + export type memberTraitCommunityUpdateArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + /** + * The data needed to update a memberTraitCommunity. + */ + data: XOR + /** + * Choose, which memberTraitCommunity to update. + */ + where: memberTraitCommunityWhereUniqueInput + } + + /** + * memberTraitCommunity updateMany + */ + export type memberTraitCommunityUpdateManyArgs = { + /** + * The data used to update memberTraitCommunities. + */ + data: XOR + /** + * Filter which memberTraitCommunities to update + */ + where?: memberTraitCommunityWhereInput + /** + * Limit how many memberTraitCommunities to update. + */ + limit?: number + } + + /** + * memberTraitCommunity updateManyAndReturn + */ + export type memberTraitCommunityUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * The data used to update memberTraitCommunities. + */ + data: XOR + /** + * Filter which memberTraitCommunities to update + */ + where?: memberTraitCommunityWhereInput + /** + * Limit how many memberTraitCommunities to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityIncludeUpdateManyAndReturn | null + } + + /** + * memberTraitCommunity upsert + */ + export type memberTraitCommunityUpsertArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + /** + * The filter to search for the memberTraitCommunity to update in case it exists. + */ + where: memberTraitCommunityWhereUniqueInput + /** + * In case the memberTraitCommunity found by the `where` argument doesn't exist, create a new memberTraitCommunity with this data. + */ + create: XOR + /** + * In case the memberTraitCommunity was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberTraitCommunity delete + */ + export type memberTraitCommunityDeleteArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + /** + * Filter which memberTraitCommunity to delete. + */ + where: memberTraitCommunityWhereUniqueInput + } + + /** + * memberTraitCommunity deleteMany + */ + export type memberTraitCommunityDeleteManyArgs = { + /** + * Filter which memberTraitCommunities to delete + */ + where?: memberTraitCommunityWhereInput + /** + * Limit how many memberTraitCommunities to delete. + */ + limit?: number + } + + /** + * memberTraitCommunity without action + */ + export type memberTraitCommunityDefaultArgs = { + /** + * Select specific fields to fetch from the memberTraitCommunity + */ + select?: memberTraitCommunitySelect | null + /** + * Omit specific fields from the memberTraitCommunity + */ + omit?: memberTraitCommunityOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberTraitCommunityInclude | null + } + + + /** + * Enums + */ + + export const TransactionIsolationLevel: { + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' + }; + + export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + + + export const MemberScalarFieldEnum: { + userId: 'userId', + handle: 'handle', + handleLower: 'handleLower', + email: 'email', + verified: 'verified', + skillScore: 'skillScore', + memberRatingId: 'memberRatingId', + firstName: 'firstName', + lastName: 'lastName', + description: 'description', + otherLangName: 'otherLangName', + status: 'status', + newEmail: 'newEmail', + emailVerifyToken: 'emailVerifyToken', + emailVerifyTokenDate: 'emailVerifyTokenDate', + newEmailVerifyToken: 'newEmailVerifyToken', + newEmailVerifyTokenDate: 'newEmailVerifyTokenDate', + country: 'country', + homeCountryCode: 'homeCountryCode', + competitionCountryCode: 'competitionCountryCode', + photoURL: 'photoURL', + tracks: 'tracks', + loginCount: 'loginCount', + lastLoginDate: 'lastLoginDate', + availableForGigs: 'availableForGigs', + availableForGigsLastUpdateDate: 'availableForGigsLastUpdateDate', + lastProfileConfirmationDate: 'lastProfileConfirmationDate', + skillScoreDeduction: 'skillScoreDeduction', + namesAndHandleAppearance: 'namesAndHandleAppearance', + aggregatedSkills: 'aggregatedSkills', + enteredSkills: 'enteredSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberScalarFieldEnum = (typeof MemberScalarFieldEnum)[keyof typeof MemberScalarFieldEnum] + + + export const MemberAddressScalarFieldEnum: { + id: 'id', + userId: 'userId', + streetAddr1: 'streetAddr1', + streetAddr2: 'streetAddr2', + city: 'city', + zip: 'zip', + stateCode: 'stateCode', + type: 'type', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberAddressScalarFieldEnum = (typeof MemberAddressScalarFieldEnum)[keyof typeof MemberAddressScalarFieldEnum] + + + export const MemberPhoneScalarFieldEnum: { + id: 'id', + userId: 'userId', + type: 'type', + number: 'number', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberPhoneScalarFieldEnum = (typeof MemberPhoneScalarFieldEnum)[keyof typeof MemberPhoneScalarFieldEnum] + + + export const MemberMaxRatingScalarFieldEnum: { + id: 'id', + userId: 'userId', + rating: 'rating', + track: 'track', + subTrack: 'subTrack', + ratingColor: 'ratingColor', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberMaxRatingScalarFieldEnum = (typeof MemberMaxRatingScalarFieldEnum)[keyof typeof MemberMaxRatingScalarFieldEnum] + + + export const MemberFinancialScalarFieldEnum: { + userId: 'userId', + amount: 'amount', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberFinancialScalarFieldEnum = (typeof MemberFinancialScalarFieldEnum)[keyof typeof MemberFinancialScalarFieldEnum] + + + export const MemberStatsHistoryScalarFieldEnum: { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challengeId: 'challengeId', + mostRecent: 'mostRecent', + oldRating: 'oldRating', + newRating: 'newRating', + placement: 'placement', + percentile: 'percentile', + oldVolatility: 'oldVolatility', + newVolatility: 'newVolatility', + oldGlobalRank: 'oldGlobalRank', + newGlobalRank: 'newGlobalRank', + oldCountryRank: 'oldCountryRank', + newCountryRank: 'newCountryRank', + oldSchoolRank: 'oldSchoolRank', + newSchoolRank: 'newSchoolRank', + eventDate: 'eventDate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberStatsHistoryScalarFieldEnum = (typeof MemberStatsHistoryScalarFieldEnum)[keyof typeof MemberStatsHistoryScalarFieldEnum] + + + export const MemberStatsScalarFieldEnum: { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challenges: 'challenges', + wins: 'wins', + mostRecentSubmission: 'mostRecentSubmission', + mostRecentEventDate: 'mostRecentEventDate', + rating: 'rating', + avgRank: 'avgRank', + avgNumSubmissions: 'avgNumSubmissions', + bestRank: 'bestRank', + globalRank: 'globalRank', + countryRank: 'countryRank', + schoolRank: 'schoolRank', + volatility: 'volatility', + maxRating: 'maxRating', + minRating: 'minRating', + topFiveFinishes: 'topFiveFinishes', + topTenFinishes: 'topTenFinishes', + isPrivate: 'isPrivate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberStatsScalarFieldEnum = (typeof MemberStatsScalarFieldEnum)[keyof typeof MemberStatsScalarFieldEnum] + + + export const MemberChallengePointsScalarFieldEnum: { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberChallengePointsScalarFieldEnum = (typeof MemberChallengePointsScalarFieldEnum)[keyof typeof MemberChallengePointsScalarFieldEnum] + + + export const MemberTraitsScalarFieldEnum: { + id: 'id', + userId: 'userId', + subscriptions: 'subscriptions', + hobby: 'hobby', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitsScalarFieldEnum = (typeof MemberTraitsScalarFieldEnum)[keyof typeof MemberTraitsScalarFieldEnum] + + + export const MemberTraitDeviceScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + deviceType: 'deviceType', + manufacturer: 'manufacturer', + model: 'model', + operatingSystem: 'operatingSystem', + osVersion: 'osVersion', + osLanguage: 'osLanguage', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitDeviceScalarFieldEnum = (typeof MemberTraitDeviceScalarFieldEnum)[keyof typeof MemberTraitDeviceScalarFieldEnum] + + + export const MemberTraitSoftwareScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + softwareType: 'softwareType', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitSoftwareScalarFieldEnum = (typeof MemberTraitSoftwareScalarFieldEnum)[keyof typeof MemberTraitSoftwareScalarFieldEnum] + + + export const MemberTraitServiceProviderScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + type: 'type', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitServiceProviderScalarFieldEnum = (typeof MemberTraitServiceProviderScalarFieldEnum)[keyof typeof MemberTraitServiceProviderScalarFieldEnum] + + + export const MemberTraitWorkScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + industry: 'industry', + otherIndustry: 'otherIndustry', + companyName: 'companyName', + position: 'position', + startDate: 'startDate', + endDate: 'endDate', + working: 'working', + description: 'description', + associatedSkills: 'associatedSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitWorkScalarFieldEnum = (typeof MemberTraitWorkScalarFieldEnum)[keyof typeof MemberTraitWorkScalarFieldEnum] + + + export const MemberTraitEducationScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + collegeName: 'collegeName', + degree: 'degree', + endYear: 'endYear', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitEducationScalarFieldEnum = (typeof MemberTraitEducationScalarFieldEnum)[keyof typeof MemberTraitEducationScalarFieldEnum] + + + export const MemberTraitBasicInfoScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + userId: 'userId', + country: 'country', + primaryInterestInTopcoder: 'primaryInterestInTopcoder', + tshirtSize: 'tshirtSize', + gender: 'gender', + shortBio: 'shortBio', + birthDate: 'birthDate', + currentLocation: 'currentLocation', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitBasicInfoScalarFieldEnum = (typeof MemberTraitBasicInfoScalarFieldEnum)[keyof typeof MemberTraitBasicInfoScalarFieldEnum] + + + export const MemberTraitLanguageScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + language: 'language', + spokenLevel: 'spokenLevel', + writtenLevel: 'writtenLevel', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitLanguageScalarFieldEnum = (typeof MemberTraitLanguageScalarFieldEnum)[keyof typeof MemberTraitLanguageScalarFieldEnum] + + + export const MemberTraitOnboardChecklistScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + listItemType: 'listItemType', + date: 'date', + message: 'message', + status: 'status', + skip: 'skip', + metadata: 'metadata', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitOnboardChecklistScalarFieldEnum = (typeof MemberTraitOnboardChecklistScalarFieldEnum)[keyof typeof MemberTraitOnboardChecklistScalarFieldEnum] + + + export const MemberTraitPersonalizationScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + key: 'key', + value: 'value', + private: 'private', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitPersonalizationScalarFieldEnum = (typeof MemberTraitPersonalizationScalarFieldEnum)[keyof typeof MemberTraitPersonalizationScalarFieldEnum] + + + export const MemberTraitCommunityScalarFieldEnum: { + id: 'id', + memberTraitId: 'memberTraitId', + communityName: 'communityName', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberTraitCommunityScalarFieldEnum = (typeof MemberTraitCommunityScalarFieldEnum)[keyof typeof MemberTraitCommunityScalarFieldEnum] + + + export const SortOrder: { + asc: 'asc', + desc: 'desc' + }; + + export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + + + export const NullableJsonNullValueInput: { + DbNull: typeof DbNull, + JsonNull: typeof JsonNull + }; + + export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput] + + + export const QueryMode: { + default: 'default', + insensitive: 'insensitive' + }; + + export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] + + + export const JsonNullValueFilter: { + DbNull: typeof DbNull, + JsonNull: typeof JsonNull, + AnyNull: typeof AnyNull + }; + + export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter] + + + export const NullsOrder: { + first: 'first', + last: 'last' + }; + + export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] + + + /** + * Field references + */ + + + /** + * 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[]'> + + + + /** + * Reference to a field of type 'String' + */ + export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'> + + + + /** + * Reference to a field of type 'String[]' + */ + export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'> + + + + /** + * Reference to a field of type 'Boolean' + */ + export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> + + + + /** + * Reference to a field of type 'Float' + */ + export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> + + + + /** + * Reference to a field of type 'Float[]' + */ + export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'> + + + + /** + * Reference to a field of type 'MemberStatus' + */ + export type EnumMemberStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MemberStatus'> + + + + /** + * Reference to a field of type 'MemberStatus[]' + */ + export type ListEnumMemberStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MemberStatus[]'> + + + + /** + * Reference to a field of type 'DateTime' + */ + export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> + + + + /** + * Reference to a field of type 'DateTime[]' + */ + export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'> + + + + /** + * Reference to a field of type 'Int' + */ + export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> + + + + /** + * Reference to a field of type 'Int[]' + */ + export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'> + + + + /** + * Reference to a field of type 'Json' + */ + export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'> + + + + /** + * Reference to a field of type 'QueryMode' + */ + export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'> + + + + /** + * Reference to a field of type 'FinancialStatus' + */ + export type EnumFinancialStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'FinancialStatus'> + + + + /** + * Reference to a field of type 'FinancialStatus[]' + */ + export type ListEnumFinancialStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'FinancialStatus[]'> + + + + /** + * Reference to a field of type 'DeviceType' + */ + export type EnumDeviceTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DeviceType'> + + + + /** + * Reference to a field of type 'DeviceType[]' + */ + export type ListEnumDeviceTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DeviceType[]'> + + + + /** + * Reference to a field of type 'SoftwareType' + */ + export type EnumSoftwareTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SoftwareType'> + + + + /** + * Reference to a field of type 'SoftwareType[]' + */ + export type ListEnumSoftwareTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SoftwareType[]'> + + + + /** + * Reference to a field of type 'ServiceProviderType' + */ + export type EnumServiceProviderTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ServiceProviderType'> + + + + /** + * Reference to a field of type 'ServiceProviderType[]' + */ + export type ListEnumServiceProviderTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ServiceProviderType[]'> + + + + /** + * Reference to a field of type 'WorkIndustryType' + */ + export type EnumWorkIndustryTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'WorkIndustryType'> + + + + /** + * Reference to a field of type 'WorkIndustryType[]' + */ + export type ListEnumWorkIndustryTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'WorkIndustryType[]'> + + /** + * Deep Input Types + */ + + + export type memberWhereInput = { + AND?: memberWhereInput | memberWhereInput[] + OR?: memberWhereInput[] + NOT?: memberWhereInput | memberWhereInput[] + userId?: BigIntFilter<"member"> | bigint | number + handle?: StringFilter<"member"> | string + handleLower?: StringFilter<"member"> | string + email?: StringFilter<"member"> | string + verified?: BoolNullableFilter<"member"> | boolean | null + skillScore?: FloatNullableFilter<"member"> | number | null + memberRatingId?: BigIntNullableFilter<"member"> | bigint | number | null + firstName?: StringNullableFilter<"member"> | string | null + lastName?: StringNullableFilter<"member"> | string | null + description?: StringNullableFilter<"member"> | string | null + otherLangName?: StringNullableFilter<"member"> | string | null + status?: EnumMemberStatusNullableFilter<"member"> | $Enums.MemberStatus | null + newEmail?: StringNullableFilter<"member"> | string | null + emailVerifyToken?: StringNullableFilter<"member"> | string | null + emailVerifyTokenDate?: DateTimeNullableFilter<"member"> | Date | string | null + newEmailVerifyToken?: StringNullableFilter<"member"> | string | null + newEmailVerifyTokenDate?: DateTimeNullableFilter<"member"> | Date | string | null + country?: StringNullableFilter<"member"> | string | null + homeCountryCode?: StringNullableFilter<"member"> | string | null + competitionCountryCode?: StringNullableFilter<"member"> | string | null + photoURL?: StringNullableFilter<"member"> | string | null + tracks?: StringNullableListFilter<"member"> + loginCount?: IntNullableFilter<"member"> | number | null + lastLoginDate?: DateTimeNullableFilter<"member"> | Date | string | null + availableForGigs?: BoolNullableFilter<"member"> | boolean | null + availableForGigsLastUpdateDate?: DateTimeNullableFilter<"member"> | Date | string | null + lastProfileConfirmationDate?: DateTimeNullableFilter<"member"> | Date | string | null + skillScoreDeduction?: FloatNullableFilter<"member"> | number | null + namesAndHandleAppearance?: StringNullableFilter<"member"> | string | null + aggregatedSkills?: JsonNullableFilter<"member"> + enteredSkills?: JsonNullableFilter<"member"> + createdAt?: DateTimeFilter<"member"> | Date | string + createdBy?: StringFilter<"member"> | string + updatedAt?: DateTimeNullableFilter<"member"> | Date | string | null + updatedBy?: StringNullableFilter<"member"> | string | null + maxRating?: XOR | null + addresses?: MemberAddressListRelationFilter + phones?: MemberPhoneListRelationFilter + financial?: XOR | null + memberStats?: MemberStatsListRelationFilter + memberStatsHistory?: MemberStatsHistoryListRelationFilter + challengePoints?: MemberChallengePointsListRelationFilter + memberTraits?: XOR | null + } + + export type memberOrderByWithRelationInput = { + userId?: SortOrder + handle?: SortOrder + handleLower?: SortOrder + email?: SortOrder + verified?: SortOrderInput | SortOrder + skillScore?: SortOrderInput | SortOrder + memberRatingId?: SortOrderInput | SortOrder + firstName?: SortOrderInput | SortOrder + lastName?: SortOrderInput | SortOrder + description?: SortOrderInput | SortOrder + otherLangName?: SortOrderInput | SortOrder + status?: SortOrderInput | SortOrder + newEmail?: SortOrderInput | SortOrder + emailVerifyToken?: SortOrderInput | SortOrder + emailVerifyTokenDate?: SortOrderInput | SortOrder + newEmailVerifyToken?: SortOrderInput | SortOrder + newEmailVerifyTokenDate?: SortOrderInput | SortOrder + country?: SortOrderInput | SortOrder + homeCountryCode?: SortOrderInput | SortOrder + competitionCountryCode?: SortOrderInput | SortOrder + photoURL?: SortOrderInput | SortOrder + tracks?: SortOrder + loginCount?: SortOrderInput | SortOrder + lastLoginDate?: SortOrderInput | SortOrder + availableForGigs?: SortOrderInput | SortOrder + availableForGigsLastUpdateDate?: SortOrderInput | SortOrder + lastProfileConfirmationDate?: SortOrderInput | SortOrder + skillScoreDeduction?: SortOrderInput | SortOrder + namesAndHandleAppearance?: SortOrderInput | SortOrder + aggregatedSkills?: SortOrderInput | SortOrder + enteredSkills?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + maxRating?: memberMaxRatingOrderByWithRelationInput + addresses?: memberAddressOrderByRelationAggregateInput + phones?: memberPhoneOrderByRelationAggregateInput + financial?: memberFinancialOrderByWithRelationInput + memberStats?: memberStatsOrderByRelationAggregateInput + memberStatsHistory?: memberStatsHistoryOrderByRelationAggregateInput + challengePoints?: memberChallengePointsOrderByRelationAggregateInput + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberWhereUniqueInput = Prisma.AtLeast<{ + userId?: bigint | number + handleLower?: string + email?: string + AND?: memberWhereInput | memberWhereInput[] + OR?: memberWhereInput[] + NOT?: memberWhereInput | memberWhereInput[] + handle?: StringFilter<"member"> | string + verified?: BoolNullableFilter<"member"> | boolean | null + skillScore?: FloatNullableFilter<"member"> | number | null + memberRatingId?: BigIntNullableFilter<"member"> | bigint | number | null + firstName?: StringNullableFilter<"member"> | string | null + lastName?: StringNullableFilter<"member"> | string | null + description?: StringNullableFilter<"member"> | string | null + otherLangName?: StringNullableFilter<"member"> | string | null + status?: EnumMemberStatusNullableFilter<"member"> | $Enums.MemberStatus | null + newEmail?: StringNullableFilter<"member"> | string | null + emailVerifyToken?: StringNullableFilter<"member"> | string | null + emailVerifyTokenDate?: DateTimeNullableFilter<"member"> | Date | string | null + newEmailVerifyToken?: StringNullableFilter<"member"> | string | null + newEmailVerifyTokenDate?: DateTimeNullableFilter<"member"> | Date | string | null + country?: StringNullableFilter<"member"> | string | null + homeCountryCode?: StringNullableFilter<"member"> | string | null + competitionCountryCode?: StringNullableFilter<"member"> | string | null + photoURL?: StringNullableFilter<"member"> | string | null + tracks?: StringNullableListFilter<"member"> + loginCount?: IntNullableFilter<"member"> | number | null + lastLoginDate?: DateTimeNullableFilter<"member"> | Date | string | null + availableForGigs?: BoolNullableFilter<"member"> | boolean | null + availableForGigsLastUpdateDate?: DateTimeNullableFilter<"member"> | Date | string | null + lastProfileConfirmationDate?: DateTimeNullableFilter<"member"> | Date | string | null + skillScoreDeduction?: FloatNullableFilter<"member"> | number | null + namesAndHandleAppearance?: StringNullableFilter<"member"> | string | null + aggregatedSkills?: JsonNullableFilter<"member"> + enteredSkills?: JsonNullableFilter<"member"> + createdAt?: DateTimeFilter<"member"> | Date | string + createdBy?: StringFilter<"member"> | string + updatedAt?: DateTimeNullableFilter<"member"> | Date | string | null + updatedBy?: StringNullableFilter<"member"> | string | null + maxRating?: XOR | null + addresses?: MemberAddressListRelationFilter + phones?: MemberPhoneListRelationFilter + financial?: XOR | null + memberStats?: MemberStatsListRelationFilter + memberStatsHistory?: MemberStatsHistoryListRelationFilter + challengePoints?: MemberChallengePointsListRelationFilter + memberTraits?: XOR | null + }, "userId" | "handleLower" | "email"> + + export type memberOrderByWithAggregationInput = { + userId?: SortOrder + handle?: SortOrder + handleLower?: SortOrder + email?: SortOrder + verified?: SortOrderInput | SortOrder + skillScore?: SortOrderInput | SortOrder + memberRatingId?: SortOrderInput | SortOrder + firstName?: SortOrderInput | SortOrder + lastName?: SortOrderInput | SortOrder + description?: SortOrderInput | SortOrder + otherLangName?: SortOrderInput | SortOrder + status?: SortOrderInput | SortOrder + newEmail?: SortOrderInput | SortOrder + emailVerifyToken?: SortOrderInput | SortOrder + emailVerifyTokenDate?: SortOrderInput | SortOrder + newEmailVerifyToken?: SortOrderInput | SortOrder + newEmailVerifyTokenDate?: SortOrderInput | SortOrder + country?: SortOrderInput | SortOrder + homeCountryCode?: SortOrderInput | SortOrder + competitionCountryCode?: SortOrderInput | SortOrder + photoURL?: SortOrderInput | SortOrder + tracks?: SortOrder + loginCount?: SortOrderInput | SortOrder + lastLoginDate?: SortOrderInput | SortOrder + availableForGigs?: SortOrderInput | SortOrder + availableForGigsLastUpdateDate?: SortOrderInput | SortOrder + lastProfileConfirmationDate?: SortOrderInput | SortOrder + skillScoreDeduction?: SortOrderInput | SortOrder + namesAndHandleAppearance?: SortOrderInput | SortOrder + aggregatedSkills?: SortOrderInput | SortOrder + enteredSkills?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberCountOrderByAggregateInput + _avg?: memberAvgOrderByAggregateInput + _max?: memberMaxOrderByAggregateInput + _min?: memberMinOrderByAggregateInput + _sum?: memberSumOrderByAggregateInput + } + + export type memberScalarWhereWithAggregatesInput = { + AND?: memberScalarWhereWithAggregatesInput | memberScalarWhereWithAggregatesInput[] + OR?: memberScalarWhereWithAggregatesInput[] + NOT?: memberScalarWhereWithAggregatesInput | memberScalarWhereWithAggregatesInput[] + userId?: BigIntWithAggregatesFilter<"member"> | bigint | number + handle?: StringWithAggregatesFilter<"member"> | string + handleLower?: StringWithAggregatesFilter<"member"> | string + email?: StringWithAggregatesFilter<"member"> | string + verified?: BoolNullableWithAggregatesFilter<"member"> | boolean | null + skillScore?: FloatNullableWithAggregatesFilter<"member"> | number | null + memberRatingId?: BigIntNullableWithAggregatesFilter<"member"> | bigint | number | null + firstName?: StringNullableWithAggregatesFilter<"member"> | string | null + lastName?: StringNullableWithAggregatesFilter<"member"> | string | null + description?: StringNullableWithAggregatesFilter<"member"> | string | null + otherLangName?: StringNullableWithAggregatesFilter<"member"> | string | null + status?: EnumMemberStatusNullableWithAggregatesFilter<"member"> | $Enums.MemberStatus | null + newEmail?: StringNullableWithAggregatesFilter<"member"> | string | null + emailVerifyToken?: StringNullableWithAggregatesFilter<"member"> | string | null + emailVerifyTokenDate?: DateTimeNullableWithAggregatesFilter<"member"> | Date | string | null + newEmailVerifyToken?: StringNullableWithAggregatesFilter<"member"> | string | null + newEmailVerifyTokenDate?: DateTimeNullableWithAggregatesFilter<"member"> | Date | string | null + country?: StringNullableWithAggregatesFilter<"member"> | string | null + homeCountryCode?: StringNullableWithAggregatesFilter<"member"> | string | null + competitionCountryCode?: StringNullableWithAggregatesFilter<"member"> | string | null + photoURL?: StringNullableWithAggregatesFilter<"member"> | string | null + tracks?: StringNullableListFilter<"member"> + loginCount?: IntNullableWithAggregatesFilter<"member"> | number | null + lastLoginDate?: DateTimeNullableWithAggregatesFilter<"member"> | Date | string | null + availableForGigs?: BoolNullableWithAggregatesFilter<"member"> | boolean | null + availableForGigsLastUpdateDate?: DateTimeNullableWithAggregatesFilter<"member"> | Date | string | null + lastProfileConfirmationDate?: DateTimeNullableWithAggregatesFilter<"member"> | Date | string | null + skillScoreDeduction?: FloatNullableWithAggregatesFilter<"member"> | number | null + namesAndHandleAppearance?: StringNullableWithAggregatesFilter<"member"> | string | null + aggregatedSkills?: JsonNullableWithAggregatesFilter<"member"> + enteredSkills?: JsonNullableWithAggregatesFilter<"member"> + createdAt?: DateTimeWithAggregatesFilter<"member"> | Date | string + createdBy?: StringWithAggregatesFilter<"member"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"member"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"member"> | string | null + } + + export type memberAddressWhereInput = { + AND?: memberAddressWhereInput | memberAddressWhereInput[] + OR?: memberAddressWhereInput[] + NOT?: memberAddressWhereInput | memberAddressWhereInput[] + id?: BigIntFilter<"memberAddress"> | bigint | number + userId?: BigIntFilter<"memberAddress"> | bigint | number + streetAddr1?: StringNullableFilter<"memberAddress"> | string | null + streetAddr2?: StringNullableFilter<"memberAddress"> | string | null + city?: StringNullableFilter<"memberAddress"> | string | null + zip?: StringNullableFilter<"memberAddress"> | string | null + stateCode?: StringNullableFilter<"memberAddress"> | string | null + type?: StringFilter<"memberAddress"> | string + createdAt?: DateTimeFilter<"memberAddress"> | Date | string + createdBy?: StringFilter<"memberAddress"> | string + updatedAt?: DateTimeNullableFilter<"memberAddress"> | Date | string | null + updatedBy?: StringNullableFilter<"memberAddress"> | string | null + member?: XOR + } + + export type memberAddressOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + streetAddr1?: SortOrderInput | SortOrder + streetAddr2?: SortOrderInput | SortOrder + city?: SortOrderInput | SortOrder + zip?: SortOrderInput | SortOrder + stateCode?: SortOrderInput | SortOrder + type?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + member?: memberOrderByWithRelationInput + } + + export type memberAddressWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberAddressWhereInput | memberAddressWhereInput[] + OR?: memberAddressWhereInput[] + NOT?: memberAddressWhereInput | memberAddressWhereInput[] + userId?: BigIntFilter<"memberAddress"> | bigint | number + streetAddr1?: StringNullableFilter<"memberAddress"> | string | null + streetAddr2?: StringNullableFilter<"memberAddress"> | string | null + city?: StringNullableFilter<"memberAddress"> | string | null + zip?: StringNullableFilter<"memberAddress"> | string | null + stateCode?: StringNullableFilter<"memberAddress"> | string | null + type?: StringFilter<"memberAddress"> | string + createdAt?: DateTimeFilter<"memberAddress"> | Date | string + createdBy?: StringFilter<"memberAddress"> | string + updatedAt?: DateTimeNullableFilter<"memberAddress"> | Date | string | null + updatedBy?: StringNullableFilter<"memberAddress"> | string | null + member?: XOR + }, "id"> + + export type memberAddressOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + streetAddr1?: SortOrderInput | SortOrder + streetAddr2?: SortOrderInput | SortOrder + city?: SortOrderInput | SortOrder + zip?: SortOrderInput | SortOrder + stateCode?: SortOrderInput | SortOrder + type?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberAddressCountOrderByAggregateInput + _avg?: memberAddressAvgOrderByAggregateInput + _max?: memberAddressMaxOrderByAggregateInput + _min?: memberAddressMinOrderByAggregateInput + _sum?: memberAddressSumOrderByAggregateInput + } + + export type memberAddressScalarWhereWithAggregatesInput = { + AND?: memberAddressScalarWhereWithAggregatesInput | memberAddressScalarWhereWithAggregatesInput[] + OR?: memberAddressScalarWhereWithAggregatesInput[] + NOT?: memberAddressScalarWhereWithAggregatesInput | memberAddressScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberAddress"> | bigint | number + userId?: BigIntWithAggregatesFilter<"memberAddress"> | bigint | number + streetAddr1?: StringNullableWithAggregatesFilter<"memberAddress"> | string | null + streetAddr2?: StringNullableWithAggregatesFilter<"memberAddress"> | string | null + city?: StringNullableWithAggregatesFilter<"memberAddress"> | string | null + zip?: StringNullableWithAggregatesFilter<"memberAddress"> | string | null + stateCode?: StringNullableWithAggregatesFilter<"memberAddress"> | string | null + type?: StringWithAggregatesFilter<"memberAddress"> | string + createdAt?: DateTimeWithAggregatesFilter<"memberAddress"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberAddress"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberAddress"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberAddress"> | string | null + } + + export type memberPhoneWhereInput = { + AND?: memberPhoneWhereInput | memberPhoneWhereInput[] + OR?: memberPhoneWhereInput[] + NOT?: memberPhoneWhereInput | memberPhoneWhereInput[] + id?: StringFilter<"memberPhone"> | string + userId?: BigIntFilter<"memberPhone"> | bigint | number + type?: StringFilter<"memberPhone"> | string + number?: StringFilter<"memberPhone"> | string + createdAt?: DateTimeFilter<"memberPhone"> | Date | string + createdBy?: StringFilter<"memberPhone"> | string + updatedAt?: DateTimeNullableFilter<"memberPhone"> | Date | string | null + updatedBy?: StringNullableFilter<"memberPhone"> | string | null + member?: XOR + } + + export type memberPhoneOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + type?: SortOrder + number?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + member?: memberOrderByWithRelationInput + } + + export type memberPhoneWhereUniqueInput = Prisma.AtLeast<{ + id?: string + userId_number?: memberPhoneUserIdNumberCompoundUniqueInput + AND?: memberPhoneWhereInput | memberPhoneWhereInput[] + OR?: memberPhoneWhereInput[] + NOT?: memberPhoneWhereInput | memberPhoneWhereInput[] + userId?: BigIntFilter<"memberPhone"> | bigint | number + type?: StringFilter<"memberPhone"> | string + number?: StringFilter<"memberPhone"> | string + createdAt?: DateTimeFilter<"memberPhone"> | Date | string + createdBy?: StringFilter<"memberPhone"> | string + updatedAt?: DateTimeNullableFilter<"memberPhone"> | Date | string | null + updatedBy?: StringNullableFilter<"memberPhone"> | string | null + member?: XOR + }, "id" | "userId_number"> + + export type memberPhoneOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + type?: SortOrder + number?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberPhoneCountOrderByAggregateInput + _avg?: memberPhoneAvgOrderByAggregateInput + _max?: memberPhoneMaxOrderByAggregateInput + _min?: memberPhoneMinOrderByAggregateInput + _sum?: memberPhoneSumOrderByAggregateInput + } + + export type memberPhoneScalarWhereWithAggregatesInput = { + AND?: memberPhoneScalarWhereWithAggregatesInput | memberPhoneScalarWhereWithAggregatesInput[] + OR?: memberPhoneScalarWhereWithAggregatesInput[] + NOT?: memberPhoneScalarWhereWithAggregatesInput | memberPhoneScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"memberPhone"> | string + userId?: BigIntWithAggregatesFilter<"memberPhone"> | bigint | number + type?: StringWithAggregatesFilter<"memberPhone"> | string + number?: StringWithAggregatesFilter<"memberPhone"> | string + createdAt?: DateTimeWithAggregatesFilter<"memberPhone"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberPhone"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberPhone"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberPhone"> | string | null + } + + export type memberMaxRatingWhereInput = { + AND?: memberMaxRatingWhereInput | memberMaxRatingWhereInput[] + OR?: memberMaxRatingWhereInput[] + NOT?: memberMaxRatingWhereInput | memberMaxRatingWhereInput[] + id?: BigIntFilter<"memberMaxRating"> | bigint | number + userId?: BigIntFilter<"memberMaxRating"> | bigint | number + rating?: IntFilter<"memberMaxRating"> | number + track?: StringNullableFilter<"memberMaxRating"> | string | null + subTrack?: StringNullableFilter<"memberMaxRating"> | string | null + ratingColor?: StringFilter<"memberMaxRating"> | string + createdAt?: DateTimeFilter<"memberMaxRating"> | Date | string + createdBy?: StringFilter<"memberMaxRating"> | string + updatedAt?: DateTimeNullableFilter<"memberMaxRating"> | Date | string | null + updatedBy?: StringNullableFilter<"memberMaxRating"> | string | null + member?: XOR + } + + export type memberMaxRatingOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + rating?: SortOrder + track?: SortOrderInput | SortOrder + subTrack?: SortOrderInput | SortOrder + ratingColor?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + member?: memberOrderByWithRelationInput + } + + export type memberMaxRatingWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + userId?: bigint | number + AND?: memberMaxRatingWhereInput | memberMaxRatingWhereInput[] + OR?: memberMaxRatingWhereInput[] + NOT?: memberMaxRatingWhereInput | memberMaxRatingWhereInput[] + rating?: IntFilter<"memberMaxRating"> | number + track?: StringNullableFilter<"memberMaxRating"> | string | null + subTrack?: StringNullableFilter<"memberMaxRating"> | string | null + ratingColor?: StringFilter<"memberMaxRating"> | string + createdAt?: DateTimeFilter<"memberMaxRating"> | Date | string + createdBy?: StringFilter<"memberMaxRating"> | string + updatedAt?: DateTimeNullableFilter<"memberMaxRating"> | Date | string | null + updatedBy?: StringNullableFilter<"memberMaxRating"> | string | null + member?: XOR + }, "id" | "userId"> + + export type memberMaxRatingOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + rating?: SortOrder + track?: SortOrderInput | SortOrder + subTrack?: SortOrderInput | SortOrder + ratingColor?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberMaxRatingCountOrderByAggregateInput + _avg?: memberMaxRatingAvgOrderByAggregateInput + _max?: memberMaxRatingMaxOrderByAggregateInput + _min?: memberMaxRatingMinOrderByAggregateInput + _sum?: memberMaxRatingSumOrderByAggregateInput + } + + export type memberMaxRatingScalarWhereWithAggregatesInput = { + AND?: memberMaxRatingScalarWhereWithAggregatesInput | memberMaxRatingScalarWhereWithAggregatesInput[] + OR?: memberMaxRatingScalarWhereWithAggregatesInput[] + NOT?: memberMaxRatingScalarWhereWithAggregatesInput | memberMaxRatingScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberMaxRating"> | bigint | number + userId?: BigIntWithAggregatesFilter<"memberMaxRating"> | bigint | number + rating?: IntWithAggregatesFilter<"memberMaxRating"> | number + track?: StringNullableWithAggregatesFilter<"memberMaxRating"> | string | null + subTrack?: StringNullableWithAggregatesFilter<"memberMaxRating"> | string | null + ratingColor?: StringWithAggregatesFilter<"memberMaxRating"> | string + createdAt?: DateTimeWithAggregatesFilter<"memberMaxRating"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberMaxRating"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberMaxRating"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberMaxRating"> | string | null + } + + export type memberFinancialWhereInput = { + AND?: memberFinancialWhereInput | memberFinancialWhereInput[] + OR?: memberFinancialWhereInput[] + NOT?: memberFinancialWhereInput | memberFinancialWhereInput[] + userId?: BigIntFilter<"memberFinancial"> | bigint | number + amount?: FloatFilter<"memberFinancial"> | number + status?: EnumFinancialStatusFilter<"memberFinancial"> | $Enums.FinancialStatus + createdAt?: DateTimeFilter<"memberFinancial"> | Date | string + createdBy?: StringFilter<"memberFinancial"> | string + updatedAt?: DateTimeNullableFilter<"memberFinancial"> | Date | string | null + updatedBy?: StringNullableFilter<"memberFinancial"> | string | null + member?: XOR + } + + export type memberFinancialOrderByWithRelationInput = { + userId?: SortOrder + amount?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + member?: memberOrderByWithRelationInput + } + + export type memberFinancialWhereUniqueInput = Prisma.AtLeast<{ + userId?: bigint | number + AND?: memberFinancialWhereInput | memberFinancialWhereInput[] + OR?: memberFinancialWhereInput[] + NOT?: memberFinancialWhereInput | memberFinancialWhereInput[] + amount?: FloatFilter<"memberFinancial"> | number + status?: EnumFinancialStatusFilter<"memberFinancial"> | $Enums.FinancialStatus + createdAt?: DateTimeFilter<"memberFinancial"> | Date | string + createdBy?: StringFilter<"memberFinancial"> | string + updatedAt?: DateTimeNullableFilter<"memberFinancial"> | Date | string | null + updatedBy?: StringNullableFilter<"memberFinancial"> | string | null + member?: XOR + }, "userId"> + + export type memberFinancialOrderByWithAggregationInput = { + userId?: SortOrder + amount?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberFinancialCountOrderByAggregateInput + _avg?: memberFinancialAvgOrderByAggregateInput + _max?: memberFinancialMaxOrderByAggregateInput + _min?: memberFinancialMinOrderByAggregateInput + _sum?: memberFinancialSumOrderByAggregateInput + } + + export type memberFinancialScalarWhereWithAggregatesInput = { + AND?: memberFinancialScalarWhereWithAggregatesInput | memberFinancialScalarWhereWithAggregatesInput[] + OR?: memberFinancialScalarWhereWithAggregatesInput[] + NOT?: memberFinancialScalarWhereWithAggregatesInput | memberFinancialScalarWhereWithAggregatesInput[] + userId?: BigIntWithAggregatesFilter<"memberFinancial"> | bigint | number + amount?: FloatWithAggregatesFilter<"memberFinancial"> | number + status?: EnumFinancialStatusWithAggregatesFilter<"memberFinancial"> | $Enums.FinancialStatus + createdAt?: DateTimeWithAggregatesFilter<"memberFinancial"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberFinancial"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberFinancial"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberFinancial"> | string | null + } + + export type memberStatsHistoryWhereInput = { + AND?: memberStatsHistoryWhereInput | memberStatsHistoryWhereInput[] + OR?: memberStatsHistoryWhereInput[] + NOT?: memberStatsHistoryWhereInput | memberStatsHistoryWhereInput[] + id?: BigIntFilter<"memberStatsHistory"> | bigint | number + userId?: BigIntFilter<"memberStatsHistory"> | bigint | number + trackId?: StringFilter<"memberStatsHistory"> | string + typeId?: StringFilter<"memberStatsHistory"> | string + challengeId?: StringFilter<"memberStatsHistory"> | string + mostRecent?: BoolFilter<"memberStatsHistory"> | boolean + oldRating?: IntNullableFilter<"memberStatsHistory"> | number | null + newRating?: IntNullableFilter<"memberStatsHistory"> | number | null + placement?: IntNullableFilter<"memberStatsHistory"> | number | null + percentile?: FloatNullableFilter<"memberStatsHistory"> | number | null + oldVolatility?: IntNullableFilter<"memberStatsHistory"> | number | null + newVolatility?: IntNullableFilter<"memberStatsHistory"> | number | null + oldGlobalRank?: IntNullableFilter<"memberStatsHistory"> | number | null + newGlobalRank?: IntNullableFilter<"memberStatsHistory"> | number | null + oldCountryRank?: IntNullableFilter<"memberStatsHistory"> | number | null + newCountryRank?: IntNullableFilter<"memberStatsHistory"> | number | null + oldSchoolRank?: IntNullableFilter<"memberStatsHistory"> | number | null + newSchoolRank?: IntNullableFilter<"memberStatsHistory"> | number | null + eventDate?: DateTimeFilter<"memberStatsHistory"> | Date | string + createdAt?: DateTimeFilter<"memberStatsHistory"> | Date | string + createdBy?: StringFilter<"memberStatsHistory"> | string + updatedAt?: DateTimeNullableFilter<"memberStatsHistory"> | Date | string | null + updatedBy?: StringNullableFilter<"memberStatsHistory"> | string | null + member?: XOR + } + + export type memberStatsHistoryOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrder + typeId?: SortOrder + challengeId?: SortOrder + mostRecent?: SortOrder + oldRating?: SortOrderInput | SortOrder + newRating?: SortOrderInput | SortOrder + placement?: SortOrderInput | SortOrder + percentile?: SortOrderInput | SortOrder + oldVolatility?: SortOrderInput | SortOrder + newVolatility?: SortOrderInput | SortOrder + oldGlobalRank?: SortOrderInput | SortOrder + newGlobalRank?: SortOrderInput | SortOrder + oldCountryRank?: SortOrderInput | SortOrder + newCountryRank?: SortOrderInput | SortOrder + oldSchoolRank?: SortOrderInput | SortOrder + newSchoolRank?: SortOrderInput | SortOrder + eventDate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + member?: memberOrderByWithRelationInput + } + + export type memberStatsHistoryWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberStatsHistoryWhereInput | memberStatsHistoryWhereInput[] + OR?: memberStatsHistoryWhereInput[] + NOT?: memberStatsHistoryWhereInput | memberStatsHistoryWhereInput[] + userId?: BigIntFilter<"memberStatsHistory"> | bigint | number + trackId?: StringFilter<"memberStatsHistory"> | string + typeId?: StringFilter<"memberStatsHistory"> | string + challengeId?: StringFilter<"memberStatsHistory"> | string + mostRecent?: BoolFilter<"memberStatsHistory"> | boolean + oldRating?: IntNullableFilter<"memberStatsHistory"> | number | null + newRating?: IntNullableFilter<"memberStatsHistory"> | number | null + placement?: IntNullableFilter<"memberStatsHistory"> | number | null + percentile?: FloatNullableFilter<"memberStatsHistory"> | number | null + oldVolatility?: IntNullableFilter<"memberStatsHistory"> | number | null + newVolatility?: IntNullableFilter<"memberStatsHistory"> | number | null + oldGlobalRank?: IntNullableFilter<"memberStatsHistory"> | number | null + newGlobalRank?: IntNullableFilter<"memberStatsHistory"> | number | null + oldCountryRank?: IntNullableFilter<"memberStatsHistory"> | number | null + newCountryRank?: IntNullableFilter<"memberStatsHistory"> | number | null + oldSchoolRank?: IntNullableFilter<"memberStatsHistory"> | number | null + newSchoolRank?: IntNullableFilter<"memberStatsHistory"> | number | null + eventDate?: DateTimeFilter<"memberStatsHistory"> | Date | string + createdAt?: DateTimeFilter<"memberStatsHistory"> | Date | string + createdBy?: StringFilter<"memberStatsHistory"> | string + updatedAt?: DateTimeNullableFilter<"memberStatsHistory"> | Date | string | null + updatedBy?: StringNullableFilter<"memberStatsHistory"> | string | null + member?: XOR + }, "id"> + + export type memberStatsHistoryOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrder + typeId?: SortOrder + challengeId?: SortOrder + mostRecent?: SortOrder + oldRating?: SortOrderInput | SortOrder + newRating?: SortOrderInput | SortOrder + placement?: SortOrderInput | SortOrder + percentile?: SortOrderInput | SortOrder + oldVolatility?: SortOrderInput | SortOrder + newVolatility?: SortOrderInput | SortOrder + oldGlobalRank?: SortOrderInput | SortOrder + newGlobalRank?: SortOrderInput | SortOrder + oldCountryRank?: SortOrderInput | SortOrder + newCountryRank?: SortOrderInput | SortOrder + oldSchoolRank?: SortOrderInput | SortOrder + newSchoolRank?: SortOrderInput | SortOrder + eventDate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberStatsHistoryCountOrderByAggregateInput + _avg?: memberStatsHistoryAvgOrderByAggregateInput + _max?: memberStatsHistoryMaxOrderByAggregateInput + _min?: memberStatsHistoryMinOrderByAggregateInput + _sum?: memberStatsHistorySumOrderByAggregateInput + } + + export type memberStatsHistoryScalarWhereWithAggregatesInput = { + AND?: memberStatsHistoryScalarWhereWithAggregatesInput | memberStatsHistoryScalarWhereWithAggregatesInput[] + OR?: memberStatsHistoryScalarWhereWithAggregatesInput[] + NOT?: memberStatsHistoryScalarWhereWithAggregatesInput | memberStatsHistoryScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberStatsHistory"> | bigint | number + userId?: BigIntWithAggregatesFilter<"memberStatsHistory"> | bigint | number + trackId?: StringWithAggregatesFilter<"memberStatsHistory"> | string + typeId?: StringWithAggregatesFilter<"memberStatsHistory"> | string + challengeId?: StringWithAggregatesFilter<"memberStatsHistory"> | string + mostRecent?: BoolWithAggregatesFilter<"memberStatsHistory"> | boolean + oldRating?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + newRating?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + placement?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + percentile?: FloatNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + oldVolatility?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + newVolatility?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + oldGlobalRank?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + newGlobalRank?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + oldCountryRank?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + newCountryRank?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + oldSchoolRank?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + newSchoolRank?: IntNullableWithAggregatesFilter<"memberStatsHistory"> | number | null + eventDate?: DateTimeWithAggregatesFilter<"memberStatsHistory"> | Date | string + createdAt?: DateTimeWithAggregatesFilter<"memberStatsHistory"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberStatsHistory"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberStatsHistory"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberStatsHistory"> | string | null + } + + export type memberStatsWhereInput = { + AND?: memberStatsWhereInput | memberStatsWhereInput[] + OR?: memberStatsWhereInput[] + NOT?: memberStatsWhereInput | memberStatsWhereInput[] + id?: BigIntFilter<"memberStats"> | bigint | number + userId?: BigIntFilter<"memberStats"> | bigint | number + trackId?: StringNullableFilter<"memberStats"> | string | null + typeId?: StringNullableFilter<"memberStats"> | string | null + challenges?: IntNullableFilter<"memberStats"> | number | null + wins?: IntNullableFilter<"memberStats"> | number | null + mostRecentSubmission?: DateTimeNullableFilter<"memberStats"> | Date | string | null + mostRecentEventDate?: DateTimeNullableFilter<"memberStats"> | Date | string | null + rating?: IntNullableFilter<"memberStats"> | number | null + avgRank?: FloatNullableFilter<"memberStats"> | number | null + avgNumSubmissions?: IntNullableFilter<"memberStats"> | number | null + bestRank?: IntNullableFilter<"memberStats"> | number | null + globalRank?: IntNullableFilter<"memberStats"> | number | null + countryRank?: IntNullableFilter<"memberStats"> | number | null + schoolRank?: IntNullableFilter<"memberStats"> | number | null + volatility?: IntNullableFilter<"memberStats"> | number | null + maxRating?: IntNullableFilter<"memberStats"> | number | null + minRating?: IntNullableFilter<"memberStats"> | number | null + topFiveFinishes?: IntNullableFilter<"memberStats"> | number | null + topTenFinishes?: IntNullableFilter<"memberStats"> | number | null + isPrivate?: BoolFilter<"memberStats"> | boolean + createdAt?: DateTimeFilter<"memberStats"> | Date | string + createdBy?: StringFilter<"memberStats"> | string + updatedAt?: DateTimeNullableFilter<"memberStats"> | Date | string | null + updatedBy?: StringNullableFilter<"memberStats"> | string | null + member?: XOR + } + + export type memberStatsOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrderInput | SortOrder + typeId?: SortOrderInput | SortOrder + challenges?: SortOrderInput | SortOrder + wins?: SortOrderInput | SortOrder + mostRecentSubmission?: SortOrderInput | SortOrder + mostRecentEventDate?: SortOrderInput | SortOrder + rating?: SortOrderInput | SortOrder + avgRank?: SortOrderInput | SortOrder + avgNumSubmissions?: SortOrderInput | SortOrder + bestRank?: SortOrderInput | SortOrder + globalRank?: SortOrderInput | SortOrder + countryRank?: SortOrderInput | SortOrder + schoolRank?: SortOrderInput | SortOrder + volatility?: SortOrderInput | SortOrder + maxRating?: SortOrderInput | SortOrder + minRating?: SortOrderInput | SortOrder + topFiveFinishes?: SortOrderInput | SortOrder + topTenFinishes?: SortOrderInput | SortOrder + isPrivate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + member?: memberOrderByWithRelationInput + } + + export type memberStatsWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + userId_trackId_typeId?: memberStatsUserIdTrackIdTypeIdCompoundUniqueInput + AND?: memberStatsWhereInput | memberStatsWhereInput[] + OR?: memberStatsWhereInput[] + NOT?: memberStatsWhereInput | memberStatsWhereInput[] + userId?: BigIntFilter<"memberStats"> | bigint | number + trackId?: StringNullableFilter<"memberStats"> | string | null + typeId?: StringNullableFilter<"memberStats"> | string | null + challenges?: IntNullableFilter<"memberStats"> | number | null + wins?: IntNullableFilter<"memberStats"> | number | null + mostRecentSubmission?: DateTimeNullableFilter<"memberStats"> | Date | string | null + mostRecentEventDate?: DateTimeNullableFilter<"memberStats"> | Date | string | null + rating?: IntNullableFilter<"memberStats"> | number | null + avgRank?: FloatNullableFilter<"memberStats"> | number | null + avgNumSubmissions?: IntNullableFilter<"memberStats"> | number | null + bestRank?: IntNullableFilter<"memberStats"> | number | null + globalRank?: IntNullableFilter<"memberStats"> | number | null + countryRank?: IntNullableFilter<"memberStats"> | number | null + schoolRank?: IntNullableFilter<"memberStats"> | number | null + volatility?: IntNullableFilter<"memberStats"> | number | null + maxRating?: IntNullableFilter<"memberStats"> | number | null + minRating?: IntNullableFilter<"memberStats"> | number | null + topFiveFinishes?: IntNullableFilter<"memberStats"> | number | null + topTenFinishes?: IntNullableFilter<"memberStats"> | number | null + isPrivate?: BoolFilter<"memberStats"> | boolean + createdAt?: DateTimeFilter<"memberStats"> | Date | string + createdBy?: StringFilter<"memberStats"> | string + updatedAt?: DateTimeNullableFilter<"memberStats"> | Date | string | null + updatedBy?: StringNullableFilter<"memberStats"> | string | null + member?: XOR + }, "id" | "userId_trackId_typeId"> + + export type memberStatsOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrderInput | SortOrder + typeId?: SortOrderInput | SortOrder + challenges?: SortOrderInput | SortOrder + wins?: SortOrderInput | SortOrder + mostRecentSubmission?: SortOrderInput | SortOrder + mostRecentEventDate?: SortOrderInput | SortOrder + rating?: SortOrderInput | SortOrder + avgRank?: SortOrderInput | SortOrder + avgNumSubmissions?: SortOrderInput | SortOrder + bestRank?: SortOrderInput | SortOrder + globalRank?: SortOrderInput | SortOrder + countryRank?: SortOrderInput | SortOrder + schoolRank?: SortOrderInput | SortOrder + volatility?: SortOrderInput | SortOrder + maxRating?: SortOrderInput | SortOrder + minRating?: SortOrderInput | SortOrder + topFiveFinishes?: SortOrderInput | SortOrder + topTenFinishes?: SortOrderInput | SortOrder + isPrivate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberStatsCountOrderByAggregateInput + _avg?: memberStatsAvgOrderByAggregateInput + _max?: memberStatsMaxOrderByAggregateInput + _min?: memberStatsMinOrderByAggregateInput + _sum?: memberStatsSumOrderByAggregateInput + } + + export type memberStatsScalarWhereWithAggregatesInput = { + AND?: memberStatsScalarWhereWithAggregatesInput | memberStatsScalarWhereWithAggregatesInput[] + OR?: memberStatsScalarWhereWithAggregatesInput[] + NOT?: memberStatsScalarWhereWithAggregatesInput | memberStatsScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberStats"> | bigint | number + userId?: BigIntWithAggregatesFilter<"memberStats"> | bigint | number + trackId?: StringNullableWithAggregatesFilter<"memberStats"> | string | null + typeId?: StringNullableWithAggregatesFilter<"memberStats"> | string | null + challenges?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + wins?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + mostRecentSubmission?: DateTimeNullableWithAggregatesFilter<"memberStats"> | Date | string | null + mostRecentEventDate?: DateTimeNullableWithAggregatesFilter<"memberStats"> | Date | string | null + rating?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + avgRank?: FloatNullableWithAggregatesFilter<"memberStats"> | number | null + avgNumSubmissions?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + bestRank?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + globalRank?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + countryRank?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + schoolRank?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + volatility?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + maxRating?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + minRating?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + topFiveFinishes?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + topTenFinishes?: IntNullableWithAggregatesFilter<"memberStats"> | number | null + isPrivate?: BoolWithAggregatesFilter<"memberStats"> | boolean + createdAt?: DateTimeWithAggregatesFilter<"memberStats"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberStats"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberStats"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberStats"> | string | null + } + + export type memberChallengePointsWhereInput = { + AND?: memberChallengePointsWhereInput | memberChallengePointsWhereInput[] + OR?: memberChallengePointsWhereInput[] + NOT?: memberChallengePointsWhereInput | memberChallengePointsWhereInput[] + id?: BigIntFilter<"memberChallengePoints"> | bigint | number + challengeId?: StringFilter<"memberChallengePoints"> | string + challengeName?: StringFilter<"memberChallengePoints"> | string + userId?: BigIntFilter<"memberChallengePoints"> | bigint | number + placement?: IntFilter<"memberChallengePoints"> | number + points?: IntFilter<"memberChallengePoints"> | number + createdAt?: DateTimeFilter<"memberChallengePoints"> | Date | string + createdBy?: StringFilter<"memberChallengePoints"> | string + updatedAt?: DateTimeNullableFilter<"memberChallengePoints"> | Date | string | null + updatedBy?: StringNullableFilter<"memberChallengePoints"> | string | null + member?: XOR + } + + export type memberChallengePointsOrderByWithRelationInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + member?: memberOrderByWithRelationInput + } + + export type memberChallengePointsWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + challengeId_userId?: memberChallengePointsChallengeIdUserIdCompoundUniqueInput + AND?: memberChallengePointsWhereInput | memberChallengePointsWhereInput[] + OR?: memberChallengePointsWhereInput[] + NOT?: memberChallengePointsWhereInput | memberChallengePointsWhereInput[] + challengeId?: StringFilter<"memberChallengePoints"> | string + challengeName?: StringFilter<"memberChallengePoints"> | string + userId?: BigIntFilter<"memberChallengePoints"> | bigint | number + placement?: IntFilter<"memberChallengePoints"> | number + points?: IntFilter<"memberChallengePoints"> | number + createdAt?: DateTimeFilter<"memberChallengePoints"> | Date | string + createdBy?: StringFilter<"memberChallengePoints"> | string + updatedAt?: DateTimeNullableFilter<"memberChallengePoints"> | Date | string | null + updatedBy?: StringNullableFilter<"memberChallengePoints"> | string | null + member?: XOR + }, "id" | "challengeId_userId"> + + export type memberChallengePointsOrderByWithAggregationInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberChallengePointsCountOrderByAggregateInput + _avg?: memberChallengePointsAvgOrderByAggregateInput + _max?: memberChallengePointsMaxOrderByAggregateInput + _min?: memberChallengePointsMinOrderByAggregateInput + _sum?: memberChallengePointsSumOrderByAggregateInput + } + + export type memberChallengePointsScalarWhereWithAggregatesInput = { + AND?: memberChallengePointsScalarWhereWithAggregatesInput | memberChallengePointsScalarWhereWithAggregatesInput[] + OR?: memberChallengePointsScalarWhereWithAggregatesInput[] + NOT?: memberChallengePointsScalarWhereWithAggregatesInput | memberChallengePointsScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberChallengePoints"> | bigint | number + challengeId?: StringWithAggregatesFilter<"memberChallengePoints"> | string + challengeName?: StringWithAggregatesFilter<"memberChallengePoints"> | string + userId?: BigIntWithAggregatesFilter<"memberChallengePoints"> | bigint | number + placement?: IntWithAggregatesFilter<"memberChallengePoints"> | number + points?: IntWithAggregatesFilter<"memberChallengePoints"> | number + createdAt?: DateTimeWithAggregatesFilter<"memberChallengePoints"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberChallengePoints"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberChallengePoints"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberChallengePoints"> | string | null + } + + export type memberTraitsWhereInput = { + AND?: memberTraitsWhereInput | memberTraitsWhereInput[] + OR?: memberTraitsWhereInput[] + NOT?: memberTraitsWhereInput | memberTraitsWhereInput[] + id?: BigIntFilter<"memberTraits"> | bigint | number + userId?: BigIntFilter<"memberTraits"> | bigint | number + subscriptions?: StringNullableListFilter<"memberTraits"> + hobby?: StringNullableListFilter<"memberTraits"> + createdAt?: DateTimeFilter<"memberTraits"> | Date | string + createdBy?: StringFilter<"memberTraits"> | string + updatedAt?: DateTimeNullableFilter<"memberTraits"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraits"> | string | null + device?: MemberTraitDeviceListRelationFilter + software?: MemberTraitSoftwareListRelationFilter + serviceProvider?: MemberTraitServiceProviderListRelationFilter + work?: MemberTraitWorkListRelationFilter + education?: MemberTraitEducationListRelationFilter + basicInfo?: MemberTraitBasicInfoListRelationFilter + language?: MemberTraitLanguageListRelationFilter + checklist?: MemberTraitOnboardChecklistListRelationFilter + personalization?: MemberTraitPersonalizationListRelationFilter + community?: MemberTraitCommunityListRelationFilter + member?: XOR + } + + export type memberTraitsOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + subscriptions?: SortOrder + hobby?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + device?: memberTraitDeviceOrderByRelationAggregateInput + software?: memberTraitSoftwareOrderByRelationAggregateInput + serviceProvider?: memberTraitServiceProviderOrderByRelationAggregateInput + work?: memberTraitWorkOrderByRelationAggregateInput + education?: memberTraitEducationOrderByRelationAggregateInput + basicInfo?: memberTraitBasicInfoOrderByRelationAggregateInput + language?: memberTraitLanguageOrderByRelationAggregateInput + checklist?: memberTraitOnboardChecklistOrderByRelationAggregateInput + personalization?: memberTraitPersonalizationOrderByRelationAggregateInput + community?: memberTraitCommunityOrderByRelationAggregateInput + member?: memberOrderByWithRelationInput + } + + export type memberTraitsWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + userId?: bigint | number + AND?: memberTraitsWhereInput | memberTraitsWhereInput[] + OR?: memberTraitsWhereInput[] + NOT?: memberTraitsWhereInput | memberTraitsWhereInput[] + subscriptions?: StringNullableListFilter<"memberTraits"> + hobby?: StringNullableListFilter<"memberTraits"> + createdAt?: DateTimeFilter<"memberTraits"> | Date | string + createdBy?: StringFilter<"memberTraits"> | string + updatedAt?: DateTimeNullableFilter<"memberTraits"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraits"> | string | null + device?: MemberTraitDeviceListRelationFilter + software?: MemberTraitSoftwareListRelationFilter + serviceProvider?: MemberTraitServiceProviderListRelationFilter + work?: MemberTraitWorkListRelationFilter + education?: MemberTraitEducationListRelationFilter + basicInfo?: MemberTraitBasicInfoListRelationFilter + language?: MemberTraitLanguageListRelationFilter + checklist?: MemberTraitOnboardChecklistListRelationFilter + personalization?: MemberTraitPersonalizationListRelationFilter + community?: MemberTraitCommunityListRelationFilter + member?: XOR + }, "id" | "userId"> + + export type memberTraitsOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + subscriptions?: SortOrder + hobby?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitsCountOrderByAggregateInput + _avg?: memberTraitsAvgOrderByAggregateInput + _max?: memberTraitsMaxOrderByAggregateInput + _min?: memberTraitsMinOrderByAggregateInput + _sum?: memberTraitsSumOrderByAggregateInput + } + + export type memberTraitsScalarWhereWithAggregatesInput = { + AND?: memberTraitsScalarWhereWithAggregatesInput | memberTraitsScalarWhereWithAggregatesInput[] + OR?: memberTraitsScalarWhereWithAggregatesInput[] + NOT?: memberTraitsScalarWhereWithAggregatesInput | memberTraitsScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraits"> | bigint | number + userId?: BigIntWithAggregatesFilter<"memberTraits"> | bigint | number + subscriptions?: StringNullableListFilter<"memberTraits"> + hobby?: StringNullableListFilter<"memberTraits"> + createdAt?: DateTimeWithAggregatesFilter<"memberTraits"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraits"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraits"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraits"> | string | null + } + + export type memberTraitDeviceWhereInput = { + AND?: memberTraitDeviceWhereInput | memberTraitDeviceWhereInput[] + OR?: memberTraitDeviceWhereInput[] + NOT?: memberTraitDeviceWhereInput | memberTraitDeviceWhereInput[] + id?: BigIntFilter<"memberTraitDevice"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitDevice"> | bigint | number + deviceType?: EnumDeviceTypeFilter<"memberTraitDevice"> | $Enums.DeviceType + manufacturer?: StringFilter<"memberTraitDevice"> | string + model?: StringFilter<"memberTraitDevice"> | string + operatingSystem?: StringFilter<"memberTraitDevice"> | string + osVersion?: StringNullableFilter<"memberTraitDevice"> | string | null + osLanguage?: StringNullableFilter<"memberTraitDevice"> | string | null + createdAt?: DateTimeFilter<"memberTraitDevice"> | Date | string + createdBy?: StringFilter<"memberTraitDevice"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitDevice"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitDevice"> | string | null + memberTraits?: XOR + } + + export type memberTraitDeviceOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + deviceType?: SortOrder + manufacturer?: SortOrder + model?: SortOrder + operatingSystem?: SortOrder + osVersion?: SortOrderInput | SortOrder + osLanguage?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitDeviceWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberTraitDeviceWhereInput | memberTraitDeviceWhereInput[] + OR?: memberTraitDeviceWhereInput[] + NOT?: memberTraitDeviceWhereInput | memberTraitDeviceWhereInput[] + memberTraitId?: BigIntFilter<"memberTraitDevice"> | bigint | number + deviceType?: EnumDeviceTypeFilter<"memberTraitDevice"> | $Enums.DeviceType + manufacturer?: StringFilter<"memberTraitDevice"> | string + model?: StringFilter<"memberTraitDevice"> | string + operatingSystem?: StringFilter<"memberTraitDevice"> | string + osVersion?: StringNullableFilter<"memberTraitDevice"> | string | null + osLanguage?: StringNullableFilter<"memberTraitDevice"> | string | null + createdAt?: DateTimeFilter<"memberTraitDevice"> | Date | string + createdBy?: StringFilter<"memberTraitDevice"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitDevice"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitDevice"> | string | null + memberTraits?: XOR + }, "id"> + + export type memberTraitDeviceOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + deviceType?: SortOrder + manufacturer?: SortOrder + model?: SortOrder + operatingSystem?: SortOrder + osVersion?: SortOrderInput | SortOrder + osLanguage?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitDeviceCountOrderByAggregateInput + _avg?: memberTraitDeviceAvgOrderByAggregateInput + _max?: memberTraitDeviceMaxOrderByAggregateInput + _min?: memberTraitDeviceMinOrderByAggregateInput + _sum?: memberTraitDeviceSumOrderByAggregateInput + } + + export type memberTraitDeviceScalarWhereWithAggregatesInput = { + AND?: memberTraitDeviceScalarWhereWithAggregatesInput | memberTraitDeviceScalarWhereWithAggregatesInput[] + OR?: memberTraitDeviceScalarWhereWithAggregatesInput[] + NOT?: memberTraitDeviceScalarWhereWithAggregatesInput | memberTraitDeviceScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitDevice"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitDevice"> | bigint | number + deviceType?: EnumDeviceTypeWithAggregatesFilter<"memberTraitDevice"> | $Enums.DeviceType + manufacturer?: StringWithAggregatesFilter<"memberTraitDevice"> | string + model?: StringWithAggregatesFilter<"memberTraitDevice"> | string + operatingSystem?: StringWithAggregatesFilter<"memberTraitDevice"> | string + osVersion?: StringNullableWithAggregatesFilter<"memberTraitDevice"> | string | null + osLanguage?: StringNullableWithAggregatesFilter<"memberTraitDevice"> | string | null + createdAt?: DateTimeWithAggregatesFilter<"memberTraitDevice"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitDevice"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitDevice"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitDevice"> | string | null + } + + export type memberTraitSoftwareWhereInput = { + AND?: memberTraitSoftwareWhereInput | memberTraitSoftwareWhereInput[] + OR?: memberTraitSoftwareWhereInput[] + NOT?: memberTraitSoftwareWhereInput | memberTraitSoftwareWhereInput[] + id?: BigIntFilter<"memberTraitSoftware"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitSoftware"> | bigint | number + softwareType?: EnumSoftwareTypeFilter<"memberTraitSoftware"> | $Enums.SoftwareType + name?: StringFilter<"memberTraitSoftware"> | string + createdAt?: DateTimeFilter<"memberTraitSoftware"> | Date | string + createdBy?: StringFilter<"memberTraitSoftware"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitSoftware"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitSoftware"> | string | null + memberTraits?: XOR + } + + export type memberTraitSoftwareOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + softwareType?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitSoftwareWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberTraitSoftwareWhereInput | memberTraitSoftwareWhereInput[] + OR?: memberTraitSoftwareWhereInput[] + NOT?: memberTraitSoftwareWhereInput | memberTraitSoftwareWhereInput[] + memberTraitId?: BigIntFilter<"memberTraitSoftware"> | bigint | number + softwareType?: EnumSoftwareTypeFilter<"memberTraitSoftware"> | $Enums.SoftwareType + name?: StringFilter<"memberTraitSoftware"> | string + createdAt?: DateTimeFilter<"memberTraitSoftware"> | Date | string + createdBy?: StringFilter<"memberTraitSoftware"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitSoftware"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitSoftware"> | string | null + memberTraits?: XOR + }, "id"> + + export type memberTraitSoftwareOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + softwareType?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitSoftwareCountOrderByAggregateInput + _avg?: memberTraitSoftwareAvgOrderByAggregateInput + _max?: memberTraitSoftwareMaxOrderByAggregateInput + _min?: memberTraitSoftwareMinOrderByAggregateInput + _sum?: memberTraitSoftwareSumOrderByAggregateInput + } + + export type memberTraitSoftwareScalarWhereWithAggregatesInput = { + AND?: memberTraitSoftwareScalarWhereWithAggregatesInput | memberTraitSoftwareScalarWhereWithAggregatesInput[] + OR?: memberTraitSoftwareScalarWhereWithAggregatesInput[] + NOT?: memberTraitSoftwareScalarWhereWithAggregatesInput | memberTraitSoftwareScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitSoftware"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitSoftware"> | bigint | number + softwareType?: EnumSoftwareTypeWithAggregatesFilter<"memberTraitSoftware"> | $Enums.SoftwareType + name?: StringWithAggregatesFilter<"memberTraitSoftware"> | string + createdAt?: DateTimeWithAggregatesFilter<"memberTraitSoftware"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitSoftware"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitSoftware"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitSoftware"> | string | null + } + + export type memberTraitServiceProviderWhereInput = { + AND?: memberTraitServiceProviderWhereInput | memberTraitServiceProviderWhereInput[] + OR?: memberTraitServiceProviderWhereInput[] + NOT?: memberTraitServiceProviderWhereInput | memberTraitServiceProviderWhereInput[] + id?: BigIntFilter<"memberTraitServiceProvider"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitServiceProvider"> | bigint | number + type?: EnumServiceProviderTypeFilter<"memberTraitServiceProvider"> | $Enums.ServiceProviderType + name?: StringFilter<"memberTraitServiceProvider"> | string + createdAt?: DateTimeFilter<"memberTraitServiceProvider"> | Date | string + createdBy?: StringFilter<"memberTraitServiceProvider"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitServiceProvider"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitServiceProvider"> | string | null + memberTraits?: XOR + } + + export type memberTraitServiceProviderOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + type?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitServiceProviderWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberTraitServiceProviderWhereInput | memberTraitServiceProviderWhereInput[] + OR?: memberTraitServiceProviderWhereInput[] + NOT?: memberTraitServiceProviderWhereInput | memberTraitServiceProviderWhereInput[] + memberTraitId?: BigIntFilter<"memberTraitServiceProvider"> | bigint | number + type?: EnumServiceProviderTypeFilter<"memberTraitServiceProvider"> | $Enums.ServiceProviderType + name?: StringFilter<"memberTraitServiceProvider"> | string + createdAt?: DateTimeFilter<"memberTraitServiceProvider"> | Date | string + createdBy?: StringFilter<"memberTraitServiceProvider"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitServiceProvider"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitServiceProvider"> | string | null + memberTraits?: XOR + }, "id"> + + export type memberTraitServiceProviderOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + type?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitServiceProviderCountOrderByAggregateInput + _avg?: memberTraitServiceProviderAvgOrderByAggregateInput + _max?: memberTraitServiceProviderMaxOrderByAggregateInput + _min?: memberTraitServiceProviderMinOrderByAggregateInput + _sum?: memberTraitServiceProviderSumOrderByAggregateInput + } + + export type memberTraitServiceProviderScalarWhereWithAggregatesInput = { + AND?: memberTraitServiceProviderScalarWhereWithAggregatesInput | memberTraitServiceProviderScalarWhereWithAggregatesInput[] + OR?: memberTraitServiceProviderScalarWhereWithAggregatesInput[] + NOT?: memberTraitServiceProviderScalarWhereWithAggregatesInput | memberTraitServiceProviderScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitServiceProvider"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitServiceProvider"> | bigint | number + type?: EnumServiceProviderTypeWithAggregatesFilter<"memberTraitServiceProvider"> | $Enums.ServiceProviderType + name?: StringWithAggregatesFilter<"memberTraitServiceProvider"> | string + createdAt?: DateTimeWithAggregatesFilter<"memberTraitServiceProvider"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitServiceProvider"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitServiceProvider"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitServiceProvider"> | string | null + } + + export type memberTraitWorkWhereInput = { + AND?: memberTraitWorkWhereInput | memberTraitWorkWhereInput[] + OR?: memberTraitWorkWhereInput[] + NOT?: memberTraitWorkWhereInput | memberTraitWorkWhereInput[] + id?: BigIntFilter<"memberTraitWork"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitWork"> | bigint | number + industry?: EnumWorkIndustryTypeNullableFilter<"memberTraitWork"> | $Enums.WorkIndustryType | null + otherIndustry?: StringNullableFilter<"memberTraitWork"> | string | null + companyName?: StringFilter<"memberTraitWork"> | string + position?: StringFilter<"memberTraitWork"> | string + startDate?: DateTimeNullableFilter<"memberTraitWork"> | Date | string | null + endDate?: DateTimeNullableFilter<"memberTraitWork"> | Date | string | null + working?: BoolNullableFilter<"memberTraitWork"> | boolean | null + description?: StringNullableFilter<"memberTraitWork"> | string | null + associatedSkills?: StringNullableListFilter<"memberTraitWork"> + createdAt?: DateTimeFilter<"memberTraitWork"> | Date | string + createdBy?: StringFilter<"memberTraitWork"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitWork"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitWork"> | string | null + memberTraits?: XOR + } + + export type memberTraitWorkOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + industry?: SortOrderInput | SortOrder + otherIndustry?: SortOrderInput | SortOrder + companyName?: SortOrder + position?: SortOrder + startDate?: SortOrderInput | SortOrder + endDate?: SortOrderInput | SortOrder + working?: SortOrderInput | SortOrder + description?: SortOrderInput | SortOrder + associatedSkills?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitWorkWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberTraitWorkWhereInput | memberTraitWorkWhereInput[] + OR?: memberTraitWorkWhereInput[] + NOT?: memberTraitWorkWhereInput | memberTraitWorkWhereInput[] + memberTraitId?: BigIntFilter<"memberTraitWork"> | bigint | number + industry?: EnumWorkIndustryTypeNullableFilter<"memberTraitWork"> | $Enums.WorkIndustryType | null + otherIndustry?: StringNullableFilter<"memberTraitWork"> | string | null + companyName?: StringFilter<"memberTraitWork"> | string + position?: StringFilter<"memberTraitWork"> | string + startDate?: DateTimeNullableFilter<"memberTraitWork"> | Date | string | null + endDate?: DateTimeNullableFilter<"memberTraitWork"> | Date | string | null + working?: BoolNullableFilter<"memberTraitWork"> | boolean | null + description?: StringNullableFilter<"memberTraitWork"> | string | null + associatedSkills?: StringNullableListFilter<"memberTraitWork"> + createdAt?: DateTimeFilter<"memberTraitWork"> | Date | string + createdBy?: StringFilter<"memberTraitWork"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitWork"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitWork"> | string | null + memberTraits?: XOR + }, "id"> + + export type memberTraitWorkOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + industry?: SortOrderInput | SortOrder + otherIndustry?: SortOrderInput | SortOrder + companyName?: SortOrder + position?: SortOrder + startDate?: SortOrderInput | SortOrder + endDate?: SortOrderInput | SortOrder + working?: SortOrderInput | SortOrder + description?: SortOrderInput | SortOrder + associatedSkills?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitWorkCountOrderByAggregateInput + _avg?: memberTraitWorkAvgOrderByAggregateInput + _max?: memberTraitWorkMaxOrderByAggregateInput + _min?: memberTraitWorkMinOrderByAggregateInput + _sum?: memberTraitWorkSumOrderByAggregateInput + } + + export type memberTraitWorkScalarWhereWithAggregatesInput = { + AND?: memberTraitWorkScalarWhereWithAggregatesInput | memberTraitWorkScalarWhereWithAggregatesInput[] + OR?: memberTraitWorkScalarWhereWithAggregatesInput[] + NOT?: memberTraitWorkScalarWhereWithAggregatesInput | memberTraitWorkScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitWork"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitWork"> | bigint | number + industry?: EnumWorkIndustryTypeNullableWithAggregatesFilter<"memberTraitWork"> | $Enums.WorkIndustryType | null + otherIndustry?: StringNullableWithAggregatesFilter<"memberTraitWork"> | string | null + companyName?: StringWithAggregatesFilter<"memberTraitWork"> | string + position?: StringWithAggregatesFilter<"memberTraitWork"> | string + startDate?: DateTimeNullableWithAggregatesFilter<"memberTraitWork"> | Date | string | null + endDate?: DateTimeNullableWithAggregatesFilter<"memberTraitWork"> | Date | string | null + working?: BoolNullableWithAggregatesFilter<"memberTraitWork"> | boolean | null + description?: StringNullableWithAggregatesFilter<"memberTraitWork"> | string | null + associatedSkills?: StringNullableListFilter<"memberTraitWork"> + createdAt?: DateTimeWithAggregatesFilter<"memberTraitWork"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitWork"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitWork"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitWork"> | string | null + } + + export type memberTraitEducationWhereInput = { + AND?: memberTraitEducationWhereInput | memberTraitEducationWhereInput[] + OR?: memberTraitEducationWhereInput[] + NOT?: memberTraitEducationWhereInput | memberTraitEducationWhereInput[] + id?: BigIntFilter<"memberTraitEducation"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitEducation"> | bigint | number + collegeName?: StringFilter<"memberTraitEducation"> | string + degree?: StringFilter<"memberTraitEducation"> | string + endYear?: IntNullableFilter<"memberTraitEducation"> | number | null + createdAt?: DateTimeFilter<"memberTraitEducation"> | Date | string + createdBy?: StringFilter<"memberTraitEducation"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitEducation"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitEducation"> | string | null + memberTraits?: XOR + } + + export type memberTraitEducationOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + collegeName?: SortOrder + degree?: SortOrder + endYear?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitEducationWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberTraitEducationWhereInput | memberTraitEducationWhereInput[] + OR?: memberTraitEducationWhereInput[] + NOT?: memberTraitEducationWhereInput | memberTraitEducationWhereInput[] + memberTraitId?: BigIntFilter<"memberTraitEducation"> | bigint | number + collegeName?: StringFilter<"memberTraitEducation"> | string + degree?: StringFilter<"memberTraitEducation"> | string + endYear?: IntNullableFilter<"memberTraitEducation"> | number | null + createdAt?: DateTimeFilter<"memberTraitEducation"> | Date | string + createdBy?: StringFilter<"memberTraitEducation"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitEducation"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitEducation"> | string | null + memberTraits?: XOR + }, "id"> + + export type memberTraitEducationOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + collegeName?: SortOrder + degree?: SortOrder + endYear?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitEducationCountOrderByAggregateInput + _avg?: memberTraitEducationAvgOrderByAggregateInput + _max?: memberTraitEducationMaxOrderByAggregateInput + _min?: memberTraitEducationMinOrderByAggregateInput + _sum?: memberTraitEducationSumOrderByAggregateInput + } + + export type memberTraitEducationScalarWhereWithAggregatesInput = { + AND?: memberTraitEducationScalarWhereWithAggregatesInput | memberTraitEducationScalarWhereWithAggregatesInput[] + OR?: memberTraitEducationScalarWhereWithAggregatesInput[] + NOT?: memberTraitEducationScalarWhereWithAggregatesInput | memberTraitEducationScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitEducation"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitEducation"> | bigint | number + collegeName?: StringWithAggregatesFilter<"memberTraitEducation"> | string + degree?: StringWithAggregatesFilter<"memberTraitEducation"> | string + endYear?: IntNullableWithAggregatesFilter<"memberTraitEducation"> | number | null + createdAt?: DateTimeWithAggregatesFilter<"memberTraitEducation"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitEducation"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitEducation"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitEducation"> | string | null + } + + export type memberTraitBasicInfoWhereInput = { + AND?: memberTraitBasicInfoWhereInput | memberTraitBasicInfoWhereInput[] + OR?: memberTraitBasicInfoWhereInput[] + NOT?: memberTraitBasicInfoWhereInput | memberTraitBasicInfoWhereInput[] + id?: BigIntFilter<"memberTraitBasicInfo"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitBasicInfo"> | bigint | number + userId?: BigIntFilter<"memberTraitBasicInfo"> | bigint | number + country?: StringFilter<"memberTraitBasicInfo"> | string + primaryInterestInTopcoder?: StringFilter<"memberTraitBasicInfo"> | string + tshirtSize?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + gender?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + shortBio?: StringFilter<"memberTraitBasicInfo"> | string + birthDate?: DateTimeNullableFilter<"memberTraitBasicInfo"> | Date | string | null + currentLocation?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + createdAt?: DateTimeFilter<"memberTraitBasicInfo"> | Date | string + createdBy?: StringFilter<"memberTraitBasicInfo"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitBasicInfo"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + memberTraits?: XOR + } + + export type memberTraitBasicInfoOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + userId?: SortOrder + country?: SortOrder + primaryInterestInTopcoder?: SortOrder + tshirtSize?: SortOrderInput | SortOrder + gender?: SortOrderInput | SortOrder + shortBio?: SortOrder + birthDate?: SortOrderInput | SortOrder + currentLocation?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitBasicInfoWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + memberTraitId?: bigint | number + AND?: memberTraitBasicInfoWhereInput | memberTraitBasicInfoWhereInput[] + OR?: memberTraitBasicInfoWhereInput[] + NOT?: memberTraitBasicInfoWhereInput | memberTraitBasicInfoWhereInput[] + userId?: BigIntFilter<"memberTraitBasicInfo"> | bigint | number + country?: StringFilter<"memberTraitBasicInfo"> | string + primaryInterestInTopcoder?: StringFilter<"memberTraitBasicInfo"> | string + tshirtSize?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + gender?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + shortBio?: StringFilter<"memberTraitBasicInfo"> | string + birthDate?: DateTimeNullableFilter<"memberTraitBasicInfo"> | Date | string | null + currentLocation?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + createdAt?: DateTimeFilter<"memberTraitBasicInfo"> | Date | string + createdBy?: StringFilter<"memberTraitBasicInfo"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitBasicInfo"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + memberTraits?: XOR + }, "id" | "memberTraitId"> + + export type memberTraitBasicInfoOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + userId?: SortOrder + country?: SortOrder + primaryInterestInTopcoder?: SortOrder + tshirtSize?: SortOrderInput | SortOrder + gender?: SortOrderInput | SortOrder + shortBio?: SortOrder + birthDate?: SortOrderInput | SortOrder + currentLocation?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitBasicInfoCountOrderByAggregateInput + _avg?: memberTraitBasicInfoAvgOrderByAggregateInput + _max?: memberTraitBasicInfoMaxOrderByAggregateInput + _min?: memberTraitBasicInfoMinOrderByAggregateInput + _sum?: memberTraitBasicInfoSumOrderByAggregateInput + } + + export type memberTraitBasicInfoScalarWhereWithAggregatesInput = { + AND?: memberTraitBasicInfoScalarWhereWithAggregatesInput | memberTraitBasicInfoScalarWhereWithAggregatesInput[] + OR?: memberTraitBasicInfoScalarWhereWithAggregatesInput[] + NOT?: memberTraitBasicInfoScalarWhereWithAggregatesInput | memberTraitBasicInfoScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitBasicInfo"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitBasicInfo"> | bigint | number + userId?: BigIntWithAggregatesFilter<"memberTraitBasicInfo"> | bigint | number + country?: StringWithAggregatesFilter<"memberTraitBasicInfo"> | string + primaryInterestInTopcoder?: StringWithAggregatesFilter<"memberTraitBasicInfo"> | string + tshirtSize?: StringNullableWithAggregatesFilter<"memberTraitBasicInfo"> | string | null + gender?: StringNullableWithAggregatesFilter<"memberTraitBasicInfo"> | string | null + shortBio?: StringWithAggregatesFilter<"memberTraitBasicInfo"> | string + birthDate?: DateTimeNullableWithAggregatesFilter<"memberTraitBasicInfo"> | Date | string | null + currentLocation?: StringNullableWithAggregatesFilter<"memberTraitBasicInfo"> | string | null + createdAt?: DateTimeWithAggregatesFilter<"memberTraitBasicInfo"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitBasicInfo"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitBasicInfo"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitBasicInfo"> | string | null + } + + export type memberTraitLanguageWhereInput = { + AND?: memberTraitLanguageWhereInput | memberTraitLanguageWhereInput[] + OR?: memberTraitLanguageWhereInput[] + NOT?: memberTraitLanguageWhereInput | memberTraitLanguageWhereInput[] + id?: BigIntFilter<"memberTraitLanguage"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitLanguage"> | bigint | number + language?: StringFilter<"memberTraitLanguage"> | string + spokenLevel?: StringNullableFilter<"memberTraitLanguage"> | string | null + writtenLevel?: StringNullableFilter<"memberTraitLanguage"> | string | null + createdAt?: DateTimeFilter<"memberTraitLanguage"> | Date | string + createdBy?: StringFilter<"memberTraitLanguage"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitLanguage"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitLanguage"> | string | null + memberTraits?: XOR + } + + export type memberTraitLanguageOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + language?: SortOrder + spokenLevel?: SortOrderInput | SortOrder + writtenLevel?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitLanguageWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberTraitLanguageWhereInput | memberTraitLanguageWhereInput[] + OR?: memberTraitLanguageWhereInput[] + NOT?: memberTraitLanguageWhereInput | memberTraitLanguageWhereInput[] + memberTraitId?: BigIntFilter<"memberTraitLanguage"> | bigint | number + language?: StringFilter<"memberTraitLanguage"> | string + spokenLevel?: StringNullableFilter<"memberTraitLanguage"> | string | null + writtenLevel?: StringNullableFilter<"memberTraitLanguage"> | string | null + createdAt?: DateTimeFilter<"memberTraitLanguage"> | Date | string + createdBy?: StringFilter<"memberTraitLanguage"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitLanguage"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitLanguage"> | string | null + memberTraits?: XOR + }, "id"> + + export type memberTraitLanguageOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + language?: SortOrder + spokenLevel?: SortOrderInput | SortOrder + writtenLevel?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitLanguageCountOrderByAggregateInput + _avg?: memberTraitLanguageAvgOrderByAggregateInput + _max?: memberTraitLanguageMaxOrderByAggregateInput + _min?: memberTraitLanguageMinOrderByAggregateInput + _sum?: memberTraitLanguageSumOrderByAggregateInput + } + + export type memberTraitLanguageScalarWhereWithAggregatesInput = { + AND?: memberTraitLanguageScalarWhereWithAggregatesInput | memberTraitLanguageScalarWhereWithAggregatesInput[] + OR?: memberTraitLanguageScalarWhereWithAggregatesInput[] + NOT?: memberTraitLanguageScalarWhereWithAggregatesInput | memberTraitLanguageScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitLanguage"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitLanguage"> | bigint | number + language?: StringWithAggregatesFilter<"memberTraitLanguage"> | string + spokenLevel?: StringNullableWithAggregatesFilter<"memberTraitLanguage"> | string | null + writtenLevel?: StringNullableWithAggregatesFilter<"memberTraitLanguage"> | string | null + createdAt?: DateTimeWithAggregatesFilter<"memberTraitLanguage"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitLanguage"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitLanguage"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitLanguage"> | string | null + } + + export type memberTraitOnboardChecklistWhereInput = { + AND?: memberTraitOnboardChecklistWhereInput | memberTraitOnboardChecklistWhereInput[] + OR?: memberTraitOnboardChecklistWhereInput[] + NOT?: memberTraitOnboardChecklistWhereInput | memberTraitOnboardChecklistWhereInput[] + id?: BigIntFilter<"memberTraitOnboardChecklist"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitOnboardChecklist"> | bigint | number + listItemType?: StringFilter<"memberTraitOnboardChecklist"> | string + date?: DateTimeFilter<"memberTraitOnboardChecklist"> | Date | string + message?: StringFilter<"memberTraitOnboardChecklist"> | string + status?: StringFilter<"memberTraitOnboardChecklist"> | string + skip?: BoolNullableFilter<"memberTraitOnboardChecklist"> | boolean | null + metadata?: JsonNullableFilter<"memberTraitOnboardChecklist"> + createdAt?: DateTimeFilter<"memberTraitOnboardChecklist"> | Date | string + createdBy?: StringFilter<"memberTraitOnboardChecklist"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitOnboardChecklist"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitOnboardChecklist"> | string | null + memberTraits?: XOR + } + + export type memberTraitOnboardChecklistOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + listItemType?: SortOrder + date?: SortOrder + message?: SortOrder + status?: SortOrder + skip?: SortOrderInput | SortOrder + metadata?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitOnboardChecklistWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberTraitOnboardChecklistWhereInput | memberTraitOnboardChecklistWhereInput[] + OR?: memberTraitOnboardChecklistWhereInput[] + NOT?: memberTraitOnboardChecklistWhereInput | memberTraitOnboardChecklistWhereInput[] + memberTraitId?: BigIntFilter<"memberTraitOnboardChecklist"> | bigint | number + listItemType?: StringFilter<"memberTraitOnboardChecklist"> | string + date?: DateTimeFilter<"memberTraitOnboardChecklist"> | Date | string + message?: StringFilter<"memberTraitOnboardChecklist"> | string + status?: StringFilter<"memberTraitOnboardChecklist"> | string + skip?: BoolNullableFilter<"memberTraitOnboardChecklist"> | boolean | null + metadata?: JsonNullableFilter<"memberTraitOnboardChecklist"> + createdAt?: DateTimeFilter<"memberTraitOnboardChecklist"> | Date | string + createdBy?: StringFilter<"memberTraitOnboardChecklist"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitOnboardChecklist"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitOnboardChecklist"> | string | null + memberTraits?: XOR + }, "id"> + + export type memberTraitOnboardChecklistOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + listItemType?: SortOrder + date?: SortOrder + message?: SortOrder + status?: SortOrder + skip?: SortOrderInput | SortOrder + metadata?: SortOrderInput | SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitOnboardChecklistCountOrderByAggregateInput + _avg?: memberTraitOnboardChecklistAvgOrderByAggregateInput + _max?: memberTraitOnboardChecklistMaxOrderByAggregateInput + _min?: memberTraitOnboardChecklistMinOrderByAggregateInput + _sum?: memberTraitOnboardChecklistSumOrderByAggregateInput + } + + export type memberTraitOnboardChecklistScalarWhereWithAggregatesInput = { + AND?: memberTraitOnboardChecklistScalarWhereWithAggregatesInput | memberTraitOnboardChecklistScalarWhereWithAggregatesInput[] + OR?: memberTraitOnboardChecklistScalarWhereWithAggregatesInput[] + NOT?: memberTraitOnboardChecklistScalarWhereWithAggregatesInput | memberTraitOnboardChecklistScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitOnboardChecklist"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitOnboardChecklist"> | bigint | number + listItemType?: StringWithAggregatesFilter<"memberTraitOnboardChecklist"> | string + date?: DateTimeWithAggregatesFilter<"memberTraitOnboardChecklist"> | Date | string + message?: StringWithAggregatesFilter<"memberTraitOnboardChecklist"> | string + status?: StringWithAggregatesFilter<"memberTraitOnboardChecklist"> | string + skip?: BoolNullableWithAggregatesFilter<"memberTraitOnboardChecklist"> | boolean | null + metadata?: JsonNullableWithAggregatesFilter<"memberTraitOnboardChecklist"> + createdAt?: DateTimeWithAggregatesFilter<"memberTraitOnboardChecklist"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitOnboardChecklist"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitOnboardChecklist"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitOnboardChecklist"> | string | null + } + + export type memberTraitPersonalizationWhereInput = { + AND?: memberTraitPersonalizationWhereInput | memberTraitPersonalizationWhereInput[] + OR?: memberTraitPersonalizationWhereInput[] + NOT?: memberTraitPersonalizationWhereInput | memberTraitPersonalizationWhereInput[] + id?: BigIntFilter<"memberTraitPersonalization"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitPersonalization"> | bigint | number + key?: StringNullableFilter<"memberTraitPersonalization"> | string | null + value?: JsonNullableFilter<"memberTraitPersonalization"> + private?: BoolFilter<"memberTraitPersonalization"> | boolean + createdAt?: DateTimeFilter<"memberTraitPersonalization"> | Date | string + createdBy?: StringFilter<"memberTraitPersonalization"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitPersonalization"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitPersonalization"> | string | null + memberTraits?: XOR + } + + export type memberTraitPersonalizationOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + key?: SortOrderInput | SortOrder + value?: SortOrderInput | SortOrder + private?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitPersonalizationWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberTraitPersonalizationWhereInput | memberTraitPersonalizationWhereInput[] + OR?: memberTraitPersonalizationWhereInput[] + NOT?: memberTraitPersonalizationWhereInput | memberTraitPersonalizationWhereInput[] + memberTraitId?: BigIntFilter<"memberTraitPersonalization"> | bigint | number + key?: StringNullableFilter<"memberTraitPersonalization"> | string | null + value?: JsonNullableFilter<"memberTraitPersonalization"> + private?: BoolFilter<"memberTraitPersonalization"> | boolean + createdAt?: DateTimeFilter<"memberTraitPersonalization"> | Date | string + createdBy?: StringFilter<"memberTraitPersonalization"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitPersonalization"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitPersonalization"> | string | null + memberTraits?: XOR + }, "id"> + + export type memberTraitPersonalizationOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + key?: SortOrderInput | SortOrder + value?: SortOrderInput | SortOrder + private?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitPersonalizationCountOrderByAggregateInput + _avg?: memberTraitPersonalizationAvgOrderByAggregateInput + _max?: memberTraitPersonalizationMaxOrderByAggregateInput + _min?: memberTraitPersonalizationMinOrderByAggregateInput + _sum?: memberTraitPersonalizationSumOrderByAggregateInput + } + + export type memberTraitPersonalizationScalarWhereWithAggregatesInput = { + AND?: memberTraitPersonalizationScalarWhereWithAggregatesInput | memberTraitPersonalizationScalarWhereWithAggregatesInput[] + OR?: memberTraitPersonalizationScalarWhereWithAggregatesInput[] + NOT?: memberTraitPersonalizationScalarWhereWithAggregatesInput | memberTraitPersonalizationScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitPersonalization"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitPersonalization"> | bigint | number + key?: StringNullableWithAggregatesFilter<"memberTraitPersonalization"> | string | null + value?: JsonNullableWithAggregatesFilter<"memberTraitPersonalization"> + private?: BoolWithAggregatesFilter<"memberTraitPersonalization"> | boolean + createdAt?: DateTimeWithAggregatesFilter<"memberTraitPersonalization"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitPersonalization"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitPersonalization"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitPersonalization"> | string | null + } + + export type memberTraitCommunityWhereInput = { + AND?: memberTraitCommunityWhereInput | memberTraitCommunityWhereInput[] + OR?: memberTraitCommunityWhereInput[] + NOT?: memberTraitCommunityWhereInput | memberTraitCommunityWhereInput[] + id?: BigIntFilter<"memberTraitCommunity"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitCommunity"> | bigint | number + communityName?: StringFilter<"memberTraitCommunity"> | string + status?: BoolFilter<"memberTraitCommunity"> | boolean + createdAt?: DateTimeFilter<"memberTraitCommunity"> | Date | string + createdBy?: StringFilter<"memberTraitCommunity"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitCommunity"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitCommunity"> | string | null + memberTraits?: XOR + } + + export type memberTraitCommunityOrderByWithRelationInput = { + id?: SortOrder + memberTraitId?: SortOrder + communityName?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + memberTraits?: memberTraitsOrderByWithRelationInput + } + + export type memberTraitCommunityWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + AND?: memberTraitCommunityWhereInput | memberTraitCommunityWhereInput[] + OR?: memberTraitCommunityWhereInput[] + NOT?: memberTraitCommunityWhereInput | memberTraitCommunityWhereInput[] + memberTraitId?: BigIntFilter<"memberTraitCommunity"> | bigint | number + communityName?: StringFilter<"memberTraitCommunity"> | string + status?: BoolFilter<"memberTraitCommunity"> | boolean + createdAt?: DateTimeFilter<"memberTraitCommunity"> | Date | string + createdBy?: StringFilter<"memberTraitCommunity"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitCommunity"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitCommunity"> | string | null + memberTraits?: XOR + }, "id"> + + export type memberTraitCommunityOrderByWithAggregationInput = { + id?: SortOrder + memberTraitId?: SortOrder + communityName?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberTraitCommunityCountOrderByAggregateInput + _avg?: memberTraitCommunityAvgOrderByAggregateInput + _max?: memberTraitCommunityMaxOrderByAggregateInput + _min?: memberTraitCommunityMinOrderByAggregateInput + _sum?: memberTraitCommunitySumOrderByAggregateInput + } + + export type memberTraitCommunityScalarWhereWithAggregatesInput = { + AND?: memberTraitCommunityScalarWhereWithAggregatesInput | memberTraitCommunityScalarWhereWithAggregatesInput[] + OR?: memberTraitCommunityScalarWhereWithAggregatesInput[] + NOT?: memberTraitCommunityScalarWhereWithAggregatesInput | memberTraitCommunityScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberTraitCommunity"> | bigint | number + memberTraitId?: BigIntWithAggregatesFilter<"memberTraitCommunity"> | bigint | number + communityName?: StringWithAggregatesFilter<"memberTraitCommunity"> | string + status?: BoolWithAggregatesFilter<"memberTraitCommunity"> | boolean + createdAt?: DateTimeWithAggregatesFilter<"memberTraitCommunity"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberTraitCommunity"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberTraitCommunity"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberTraitCommunity"> | string | null + } + + export type memberCreateInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingCreateNestedOneWithoutMemberInput + addresses?: memberAddressCreateNestedManyWithoutMemberInput + phones?: memberPhoneCreateNestedManyWithoutMemberInput + financial?: memberFinancialCreateNestedOneWithoutMemberInput + memberStats?: memberStatsCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput + } + + export type memberUncheckedCreateInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput + addresses?: memberAddressUncheckedCreateNestedManyWithoutMemberInput + phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput + financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput + memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput + } + + export type memberUpdateInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput + } + + export type memberUncheckedUpdateInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUncheckedUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput + } + + export type memberCreateManyInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberUpdateManyMutationInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberUncheckedUpdateManyInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberAddressCreateInput = { + id?: bigint | number + streetAddr1?: string | null + streetAddr2?: string | null + city?: string | null + zip?: string | null + stateCode?: string | null + type: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + member: memberCreateNestedOneWithoutAddressesInput + } + + export type memberAddressUncheckedCreateInput = { + id?: bigint | number + userId: bigint | number + streetAddr1?: string | null + streetAddr2?: string | null + city?: string | null + zip?: string | null + stateCode?: string | null + type: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberAddressUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + streetAddr1?: NullableStringFieldUpdateOperationsInput | string | null + streetAddr2?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + zip?: NullableStringFieldUpdateOperationsInput | string | null + stateCode?: NullableStringFieldUpdateOperationsInput | string | null + type?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + member?: memberUpdateOneRequiredWithoutAddressesNestedInput + } + + export type memberAddressUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + streetAddr1?: NullableStringFieldUpdateOperationsInput | string | null + streetAddr2?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + zip?: NullableStringFieldUpdateOperationsInput | string | null + stateCode?: NullableStringFieldUpdateOperationsInput | string | null + type?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberAddressCreateManyInput = { + id?: bigint | number + userId: bigint | number + streetAddr1?: string | null + streetAddr2?: string | null + city?: string | null + zip?: string | null + stateCode?: string | null + type: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberAddressUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + streetAddr1?: NullableStringFieldUpdateOperationsInput | string | null + streetAddr2?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + zip?: NullableStringFieldUpdateOperationsInput | string | null + stateCode?: NullableStringFieldUpdateOperationsInput | string | null + type?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberAddressUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + streetAddr1?: NullableStringFieldUpdateOperationsInput | string | null + streetAddr2?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + zip?: NullableStringFieldUpdateOperationsInput | string | null + stateCode?: NullableStringFieldUpdateOperationsInput | string | null + type?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberPhoneCreateInput = { + id?: string + type: string + number: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + member: memberCreateNestedOneWithoutPhonesInput + } + + export type memberPhoneUncheckedCreateInput = { + id?: string + userId: bigint | number + type: string + number: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberPhoneUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + type?: StringFieldUpdateOperationsInput | string + number?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + member?: memberUpdateOneRequiredWithoutPhonesNestedInput + } + + export type memberPhoneUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: BigIntFieldUpdateOperationsInput | bigint | number + type?: StringFieldUpdateOperationsInput | string + number?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberPhoneCreateManyInput = { + id?: string + userId: bigint | number + type: string + number: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberPhoneUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + type?: StringFieldUpdateOperationsInput | string + number?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberPhoneUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: BigIntFieldUpdateOperationsInput | bigint | number + type?: StringFieldUpdateOperationsInput | string + number?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberMaxRatingCreateInput = { + id?: bigint | number + rating: number + track?: string | null + subTrack?: string | null + ratingColor: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + member: memberCreateNestedOneWithoutMaxRatingInput + } + + export type memberMaxRatingUncheckedCreateInput = { + id?: bigint | number + userId: bigint | number + rating: number + track?: string | null + subTrack?: string | null + ratingColor: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberMaxRatingUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + rating?: IntFieldUpdateOperationsInput | number + track?: NullableStringFieldUpdateOperationsInput | string | null + subTrack?: NullableStringFieldUpdateOperationsInput | string | null + ratingColor?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + member?: memberUpdateOneRequiredWithoutMaxRatingNestedInput + } + + export type memberMaxRatingUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + rating?: IntFieldUpdateOperationsInput | number + track?: NullableStringFieldUpdateOperationsInput | string | null + subTrack?: NullableStringFieldUpdateOperationsInput | string | null + ratingColor?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberMaxRatingCreateManyInput = { + id?: bigint | number + userId: bigint | number + rating: number + track?: string | null + subTrack?: string | null + ratingColor: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberMaxRatingUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + rating?: IntFieldUpdateOperationsInput | number + track?: NullableStringFieldUpdateOperationsInput | string | null + subTrack?: NullableStringFieldUpdateOperationsInput | string | null + ratingColor?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberMaxRatingUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + rating?: IntFieldUpdateOperationsInput | number + track?: NullableStringFieldUpdateOperationsInput | string | null + subTrack?: NullableStringFieldUpdateOperationsInput | string | null + ratingColor?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberFinancialCreateInput = { + amount: number + status: $Enums.FinancialStatus + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + member: memberCreateNestedOneWithoutFinancialInput + } + + export type memberFinancialUncheckedCreateInput = { + userId: bigint | number + amount: number + status: $Enums.FinancialStatus + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberFinancialUpdateInput = { + amount?: FloatFieldUpdateOperationsInput | number + status?: EnumFinancialStatusFieldUpdateOperationsInput | $Enums.FinancialStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + member?: memberUpdateOneRequiredWithoutFinancialNestedInput + } + + export type memberFinancialUncheckedUpdateInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + amount?: FloatFieldUpdateOperationsInput | number + status?: EnumFinancialStatusFieldUpdateOperationsInput | $Enums.FinancialStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberFinancialCreateManyInput = { + userId: bigint | number + amount: number + status: $Enums.FinancialStatus + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberFinancialUpdateManyMutationInput = { + amount?: FloatFieldUpdateOperationsInput | number + status?: EnumFinancialStatusFieldUpdateOperationsInput | $Enums.FinancialStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberFinancialUncheckedUpdateManyInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + amount?: FloatFieldUpdateOperationsInput | number + status?: EnumFinancialStatusFieldUpdateOperationsInput | $Enums.FinancialStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsHistoryCreateInput = { + id?: bigint | number + trackId: string + typeId: string + challengeId: string + mostRecent?: boolean + oldRating?: number | null + newRating?: number | null + placement?: number | null + percentile?: number | null + oldVolatility?: number | null + newVolatility?: number | null + oldGlobalRank?: number | null + newGlobalRank?: number | null + oldCountryRank?: number | null + newCountryRank?: number | null + oldSchoolRank?: number | null + newSchoolRank?: number | null + eventDate: Date | string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + member: memberCreateNestedOneWithoutMemberStatsHistoryInput + } + + export type memberStatsHistoryUncheckedCreateInput = { + id?: bigint | number + userId: bigint | number + trackId: string + typeId: string + challengeId: string + mostRecent?: boolean + oldRating?: number | null + newRating?: number | null + placement?: number | null + percentile?: number | null + oldVolatility?: number | null + newVolatility?: number | null + oldGlobalRank?: number | null + newGlobalRank?: number | null + oldCountryRank?: number | null + newCountryRank?: number | null + oldSchoolRank?: number | null + newSchoolRank?: number | null + eventDate: Date | string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsHistoryUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: StringFieldUpdateOperationsInput | string + typeId?: StringFieldUpdateOperationsInput | string + challengeId?: StringFieldUpdateOperationsInput | string + mostRecent?: BoolFieldUpdateOperationsInput | boolean + oldRating?: NullableIntFieldUpdateOperationsInput | number | null + newRating?: NullableIntFieldUpdateOperationsInput | number | null + placement?: NullableIntFieldUpdateOperationsInput | number | null + percentile?: NullableFloatFieldUpdateOperationsInput | number | null + oldVolatility?: NullableIntFieldUpdateOperationsInput | number | null + newVolatility?: NullableIntFieldUpdateOperationsInput | number | null + oldGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + newGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + oldCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + newCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + oldSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + newSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + eventDate?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + member?: memberUpdateOneRequiredWithoutMemberStatsHistoryNestedInput + } + + export type memberStatsHistoryUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: StringFieldUpdateOperationsInput | string + typeId?: StringFieldUpdateOperationsInput | string + challengeId?: StringFieldUpdateOperationsInput | string + mostRecent?: BoolFieldUpdateOperationsInput | boolean + oldRating?: NullableIntFieldUpdateOperationsInput | number | null + newRating?: NullableIntFieldUpdateOperationsInput | number | null + placement?: NullableIntFieldUpdateOperationsInput | number | null + percentile?: NullableFloatFieldUpdateOperationsInput | number | null + oldVolatility?: NullableIntFieldUpdateOperationsInput | number | null + newVolatility?: NullableIntFieldUpdateOperationsInput | number | null + oldGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + newGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + oldCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + newCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + oldSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + newSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + eventDate?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsHistoryCreateManyInput = { + id?: bigint | number + userId: bigint | number + trackId: string + typeId: string + challengeId: string + mostRecent?: boolean + oldRating?: number | null + newRating?: number | null + placement?: number | null + percentile?: number | null + oldVolatility?: number | null + newVolatility?: number | null + oldGlobalRank?: number | null + newGlobalRank?: number | null + oldCountryRank?: number | null + newCountryRank?: number | null + oldSchoolRank?: number | null + newSchoolRank?: number | null + eventDate: Date | string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsHistoryUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: StringFieldUpdateOperationsInput | string + typeId?: StringFieldUpdateOperationsInput | string + challengeId?: StringFieldUpdateOperationsInput | string + mostRecent?: BoolFieldUpdateOperationsInput | boolean + oldRating?: NullableIntFieldUpdateOperationsInput | number | null + newRating?: NullableIntFieldUpdateOperationsInput | number | null + placement?: NullableIntFieldUpdateOperationsInput | number | null + percentile?: NullableFloatFieldUpdateOperationsInput | number | null + oldVolatility?: NullableIntFieldUpdateOperationsInput | number | null + newVolatility?: NullableIntFieldUpdateOperationsInput | number | null + oldGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + newGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + oldCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + newCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + oldSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + newSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + eventDate?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsHistoryUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: StringFieldUpdateOperationsInput | string + typeId?: StringFieldUpdateOperationsInput | string + challengeId?: StringFieldUpdateOperationsInput | string + mostRecent?: BoolFieldUpdateOperationsInput | boolean + oldRating?: NullableIntFieldUpdateOperationsInput | number | null + newRating?: NullableIntFieldUpdateOperationsInput | number | null + placement?: NullableIntFieldUpdateOperationsInput | number | null + percentile?: NullableFloatFieldUpdateOperationsInput | number | null + oldVolatility?: NullableIntFieldUpdateOperationsInput | number | null + newVolatility?: NullableIntFieldUpdateOperationsInput | number | null + oldGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + newGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + oldCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + newCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + oldSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + newSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + eventDate?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsCreateInput = { + id?: bigint | number + trackId?: string | null + typeId?: string | null + challenges?: number | null + wins?: number | null + mostRecentSubmission?: Date | string | null + mostRecentEventDate?: Date | string | null + rating?: number | null + avgRank?: number | null + avgNumSubmissions?: number | null + bestRank?: number | null + globalRank?: number | null + countryRank?: number | null + schoolRank?: number | null + volatility?: number | null + maxRating?: number | null + minRating?: number | null + topFiveFinishes?: number | null + topTenFinishes?: number | null + isPrivate?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + member: memberCreateNestedOneWithoutMemberStatsInput + } + + export type memberStatsUncheckedCreateInput = { + id?: bigint | number + userId: bigint | number + trackId?: string | null + typeId?: string | null + challenges?: number | null + wins?: number | null + mostRecentSubmission?: Date | string | null + mostRecentEventDate?: Date | string | null + rating?: number | null + avgRank?: number | null + avgNumSubmissions?: number | null + bestRank?: number | null + globalRank?: number | null + countryRank?: number | null + schoolRank?: number | null + volatility?: number | null + maxRating?: number | null + minRating?: number | null + topFiveFinishes?: number | null + topTenFinishes?: number | null + isPrivate?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: NullableStringFieldUpdateOperationsInput | string | null + typeId?: NullableStringFieldUpdateOperationsInput | string | null + challenges?: NullableIntFieldUpdateOperationsInput | number | null + wins?: NullableIntFieldUpdateOperationsInput | number | null + mostRecentSubmission?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + mostRecentEventDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + rating?: NullableIntFieldUpdateOperationsInput | number | null + avgRank?: NullableFloatFieldUpdateOperationsInput | number | null + avgNumSubmissions?: NullableIntFieldUpdateOperationsInput | number | null + bestRank?: NullableIntFieldUpdateOperationsInput | number | null + globalRank?: NullableIntFieldUpdateOperationsInput | number | null + countryRank?: NullableIntFieldUpdateOperationsInput | number | null + schoolRank?: NullableIntFieldUpdateOperationsInput | number | null + volatility?: NullableIntFieldUpdateOperationsInput | number | null + maxRating?: NullableIntFieldUpdateOperationsInput | number | null + minRating?: NullableIntFieldUpdateOperationsInput | number | null + topFiveFinishes?: NullableIntFieldUpdateOperationsInput | number | null + topTenFinishes?: NullableIntFieldUpdateOperationsInput | number | null + isPrivate?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + member?: memberUpdateOneRequiredWithoutMemberStatsNestedInput + } + + export type memberStatsUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: NullableStringFieldUpdateOperationsInput | string | null + typeId?: NullableStringFieldUpdateOperationsInput | string | null + challenges?: NullableIntFieldUpdateOperationsInput | number | null + wins?: NullableIntFieldUpdateOperationsInput | number | null + mostRecentSubmission?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + mostRecentEventDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + rating?: NullableIntFieldUpdateOperationsInput | number | null + avgRank?: NullableFloatFieldUpdateOperationsInput | number | null + avgNumSubmissions?: NullableIntFieldUpdateOperationsInput | number | null + bestRank?: NullableIntFieldUpdateOperationsInput | number | null + globalRank?: NullableIntFieldUpdateOperationsInput | number | null + countryRank?: NullableIntFieldUpdateOperationsInput | number | null + schoolRank?: NullableIntFieldUpdateOperationsInput | number | null + volatility?: NullableIntFieldUpdateOperationsInput | number | null + maxRating?: NullableIntFieldUpdateOperationsInput | number | null + minRating?: NullableIntFieldUpdateOperationsInput | number | null + topFiveFinishes?: NullableIntFieldUpdateOperationsInput | number | null + topTenFinishes?: NullableIntFieldUpdateOperationsInput | number | null + isPrivate?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsCreateManyInput = { + id?: bigint | number + userId: bigint | number + trackId?: string | null + typeId?: string | null + challenges?: number | null + wins?: number | null + mostRecentSubmission?: Date | string | null + mostRecentEventDate?: Date | string | null + rating?: number | null + avgRank?: number | null + avgNumSubmissions?: number | null + bestRank?: number | null + globalRank?: number | null + countryRank?: number | null + schoolRank?: number | null + volatility?: number | null + maxRating?: number | null + minRating?: number | null + topFiveFinishes?: number | null + topTenFinishes?: number | null + isPrivate?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: NullableStringFieldUpdateOperationsInput | string | null + typeId?: NullableStringFieldUpdateOperationsInput | string | null + challenges?: NullableIntFieldUpdateOperationsInput | number | null + wins?: NullableIntFieldUpdateOperationsInput | number | null + mostRecentSubmission?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + mostRecentEventDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + rating?: NullableIntFieldUpdateOperationsInput | number | null + avgRank?: NullableFloatFieldUpdateOperationsInput | number | null + avgNumSubmissions?: NullableIntFieldUpdateOperationsInput | number | null + bestRank?: NullableIntFieldUpdateOperationsInput | number | null + globalRank?: NullableIntFieldUpdateOperationsInput | number | null + countryRank?: NullableIntFieldUpdateOperationsInput | number | null + schoolRank?: NullableIntFieldUpdateOperationsInput | number | null + volatility?: NullableIntFieldUpdateOperationsInput | number | null + maxRating?: NullableIntFieldUpdateOperationsInput | number | null + minRating?: NullableIntFieldUpdateOperationsInput | number | null + topFiveFinishes?: NullableIntFieldUpdateOperationsInput | number | null + topTenFinishes?: NullableIntFieldUpdateOperationsInput | number | null + isPrivate?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: NullableStringFieldUpdateOperationsInput | string | null + typeId?: NullableStringFieldUpdateOperationsInput | string | null + challenges?: NullableIntFieldUpdateOperationsInput | number | null + wins?: NullableIntFieldUpdateOperationsInput | number | null + mostRecentSubmission?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + mostRecentEventDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + rating?: NullableIntFieldUpdateOperationsInput | number | null + avgRank?: NullableFloatFieldUpdateOperationsInput | number | null + avgNumSubmissions?: NullableIntFieldUpdateOperationsInput | number | null + bestRank?: NullableIntFieldUpdateOperationsInput | number | null + globalRank?: NullableIntFieldUpdateOperationsInput | number | null + countryRank?: NullableIntFieldUpdateOperationsInput | number | null + schoolRank?: NullableIntFieldUpdateOperationsInput | number | null + volatility?: NullableIntFieldUpdateOperationsInput | number | null + maxRating?: NullableIntFieldUpdateOperationsInput | number | null + minRating?: NullableIntFieldUpdateOperationsInput | number | null + topFiveFinishes?: NullableIntFieldUpdateOperationsInput | number | null + topTenFinishes?: NullableIntFieldUpdateOperationsInput | number | null + isPrivate?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsCreateInput = { + id?: bigint | number + challengeId: string + challengeName: string + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + member: memberCreateNestedOneWithoutChallengePointsInput + } + + export type memberChallengePointsUncheckedCreateInput = { + id?: bigint | number + challengeId: string + challengeName: string + userId: bigint | number + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberChallengePointsUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + member?: memberUpdateOneRequiredWithoutChallengePointsNestedInput + } + + export type memberChallengePointsUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + userId?: BigIntFieldUpdateOperationsInput | bigint | number + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsCreateManyInput = { + id?: bigint | number + challengeId: string + challengeName: string + userId: bigint | number + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberChallengePointsUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + userId?: BigIntFieldUpdateOperationsInput | bigint | number + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitsCreateInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateManyInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitsUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitsUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitDeviceCreateInput = { + id?: bigint | number + deviceType: $Enums.DeviceType + manufacturer: string + model: string + operatingSystem: string + osVersion?: string | null + osLanguage?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutDeviceInput + } + + export type memberTraitDeviceUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + deviceType: $Enums.DeviceType + manufacturer: string + model: string + operatingSystem: string + osVersion?: string | null + osLanguage?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitDeviceUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + deviceType?: EnumDeviceTypeFieldUpdateOperationsInput | $Enums.DeviceType + manufacturer?: StringFieldUpdateOperationsInput | string + model?: StringFieldUpdateOperationsInput | string + operatingSystem?: StringFieldUpdateOperationsInput | string + osVersion?: NullableStringFieldUpdateOperationsInput | string | null + osLanguage?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutDeviceNestedInput + } + + export type memberTraitDeviceUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + deviceType?: EnumDeviceTypeFieldUpdateOperationsInput | $Enums.DeviceType + manufacturer?: StringFieldUpdateOperationsInput | string + model?: StringFieldUpdateOperationsInput | string + operatingSystem?: StringFieldUpdateOperationsInput | string + osVersion?: NullableStringFieldUpdateOperationsInput | string | null + osLanguage?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitDeviceCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + deviceType: $Enums.DeviceType + manufacturer: string + model: string + operatingSystem: string + osVersion?: string | null + osLanguage?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitDeviceUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + deviceType?: EnumDeviceTypeFieldUpdateOperationsInput | $Enums.DeviceType + manufacturer?: StringFieldUpdateOperationsInput | string + model?: StringFieldUpdateOperationsInput | string + operatingSystem?: StringFieldUpdateOperationsInput | string + osVersion?: NullableStringFieldUpdateOperationsInput | string | null + osLanguage?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitDeviceUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + deviceType?: EnumDeviceTypeFieldUpdateOperationsInput | $Enums.DeviceType + manufacturer?: StringFieldUpdateOperationsInput | string + model?: StringFieldUpdateOperationsInput | string + operatingSystem?: StringFieldUpdateOperationsInput | string + osVersion?: NullableStringFieldUpdateOperationsInput | string | null + osLanguage?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitSoftwareCreateInput = { + id?: bigint | number + softwareType: $Enums.SoftwareType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutSoftwareInput + } + + export type memberTraitSoftwareUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + softwareType: $Enums.SoftwareType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitSoftwareUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + softwareType?: EnumSoftwareTypeFieldUpdateOperationsInput | $Enums.SoftwareType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutSoftwareNestedInput + } + + export type memberTraitSoftwareUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + softwareType?: EnumSoftwareTypeFieldUpdateOperationsInput | $Enums.SoftwareType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitSoftwareCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + softwareType: $Enums.SoftwareType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitSoftwareUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + softwareType?: EnumSoftwareTypeFieldUpdateOperationsInput | $Enums.SoftwareType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitSoftwareUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + softwareType?: EnumSoftwareTypeFieldUpdateOperationsInput | $Enums.SoftwareType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitServiceProviderCreateInput = { + id?: bigint | number + type: $Enums.ServiceProviderType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutServiceProviderInput + } + + export type memberTraitServiceProviderUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + type: $Enums.ServiceProviderType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitServiceProviderUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + type?: EnumServiceProviderTypeFieldUpdateOperationsInput | $Enums.ServiceProviderType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutServiceProviderNestedInput + } + + export type memberTraitServiceProviderUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + type?: EnumServiceProviderTypeFieldUpdateOperationsInput | $Enums.ServiceProviderType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitServiceProviderCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + type: $Enums.ServiceProviderType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitServiceProviderUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + type?: EnumServiceProviderTypeFieldUpdateOperationsInput | $Enums.ServiceProviderType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitServiceProviderUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + type?: EnumServiceProviderTypeFieldUpdateOperationsInput | $Enums.ServiceProviderType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitWorkCreateInput = { + id?: bigint | number + industry?: $Enums.WorkIndustryType | null + otherIndustry?: string | null + companyName: string + position: string + startDate?: Date | string | null + endDate?: Date | string | null + working?: boolean | null + description?: string | null + associatedSkills?: memberTraitWorkCreateassociatedSkillsInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutWorkInput + } + + export type memberTraitWorkUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + industry?: $Enums.WorkIndustryType | null + otherIndustry?: string | null + companyName: string + position: string + startDate?: Date | string | null + endDate?: Date | string | null + working?: boolean | null + description?: string | null + associatedSkills?: memberTraitWorkCreateassociatedSkillsInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitWorkUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + industry?: NullableEnumWorkIndustryTypeFieldUpdateOperationsInput | $Enums.WorkIndustryType | null + otherIndustry?: NullableStringFieldUpdateOperationsInput | string | null + companyName?: StringFieldUpdateOperationsInput | string + position?: StringFieldUpdateOperationsInput | string + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + working?: NullableBoolFieldUpdateOperationsInput | boolean | null + description?: NullableStringFieldUpdateOperationsInput | string | null + associatedSkills?: memberTraitWorkUpdateassociatedSkillsInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutWorkNestedInput + } + + export type memberTraitWorkUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + industry?: NullableEnumWorkIndustryTypeFieldUpdateOperationsInput | $Enums.WorkIndustryType | null + otherIndustry?: NullableStringFieldUpdateOperationsInput | string | null + companyName?: StringFieldUpdateOperationsInput | string + position?: StringFieldUpdateOperationsInput | string + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + working?: NullableBoolFieldUpdateOperationsInput | boolean | null + description?: NullableStringFieldUpdateOperationsInput | string | null + associatedSkills?: memberTraitWorkUpdateassociatedSkillsInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitWorkCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + industry?: $Enums.WorkIndustryType | null + otherIndustry?: string | null + companyName: string + position: string + startDate?: Date | string | null + endDate?: Date | string | null + working?: boolean | null + description?: string | null + associatedSkills?: memberTraitWorkCreateassociatedSkillsInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitWorkUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + industry?: NullableEnumWorkIndustryTypeFieldUpdateOperationsInput | $Enums.WorkIndustryType | null + otherIndustry?: NullableStringFieldUpdateOperationsInput | string | null + companyName?: StringFieldUpdateOperationsInput | string + position?: StringFieldUpdateOperationsInput | string + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + working?: NullableBoolFieldUpdateOperationsInput | boolean | null + description?: NullableStringFieldUpdateOperationsInput | string | null + associatedSkills?: memberTraitWorkUpdateassociatedSkillsInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitWorkUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + industry?: NullableEnumWorkIndustryTypeFieldUpdateOperationsInput | $Enums.WorkIndustryType | null + otherIndustry?: NullableStringFieldUpdateOperationsInput | string | null + companyName?: StringFieldUpdateOperationsInput | string + position?: StringFieldUpdateOperationsInput | string + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + working?: NullableBoolFieldUpdateOperationsInput | boolean | null + description?: NullableStringFieldUpdateOperationsInput | string | null + associatedSkills?: memberTraitWorkUpdateassociatedSkillsInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitEducationCreateInput = { + id?: bigint | number + collegeName: string + degree: string + endYear?: number | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutEducationInput + } + + export type memberTraitEducationUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + collegeName: string + degree: string + endYear?: number | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitEducationUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + collegeName?: StringFieldUpdateOperationsInput | string + degree?: StringFieldUpdateOperationsInput | string + endYear?: NullableIntFieldUpdateOperationsInput | number | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutEducationNestedInput + } + + export type memberTraitEducationUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + collegeName?: StringFieldUpdateOperationsInput | string + degree?: StringFieldUpdateOperationsInput | string + endYear?: NullableIntFieldUpdateOperationsInput | number | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitEducationCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + collegeName: string + degree: string + endYear?: number | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitEducationUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + collegeName?: StringFieldUpdateOperationsInput | string + degree?: StringFieldUpdateOperationsInput | string + endYear?: NullableIntFieldUpdateOperationsInput | number | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitEducationUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + collegeName?: StringFieldUpdateOperationsInput | string + degree?: StringFieldUpdateOperationsInput | string + endYear?: NullableIntFieldUpdateOperationsInput | number | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitBasicInfoCreateInput = { + id?: bigint | number + userId: bigint | number + country: string + primaryInterestInTopcoder: string + tshirtSize?: string | null + gender?: string | null + shortBio: string + birthDate?: Date | string | null + currentLocation?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutBasicInfoInput + } + + export type memberTraitBasicInfoUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + userId: bigint | number + country: string + primaryInterestInTopcoder: string + tshirtSize?: string | null + gender?: string | null + shortBio: string + birthDate?: Date | string | null + currentLocation?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitBasicInfoUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + country?: StringFieldUpdateOperationsInput | string + primaryInterestInTopcoder?: StringFieldUpdateOperationsInput | string + tshirtSize?: NullableStringFieldUpdateOperationsInput | string | null + gender?: NullableStringFieldUpdateOperationsInput | string | null + shortBio?: StringFieldUpdateOperationsInput | string + birthDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + currentLocation?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutBasicInfoNestedInput + } + + export type memberTraitBasicInfoUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + country?: StringFieldUpdateOperationsInput | string + primaryInterestInTopcoder?: StringFieldUpdateOperationsInput | string + tshirtSize?: NullableStringFieldUpdateOperationsInput | string | null + gender?: NullableStringFieldUpdateOperationsInput | string | null + shortBio?: StringFieldUpdateOperationsInput | string + birthDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + currentLocation?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitBasicInfoCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + userId: bigint | number + country: string + primaryInterestInTopcoder: string + tshirtSize?: string | null + gender?: string | null + shortBio: string + birthDate?: Date | string | null + currentLocation?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitBasicInfoUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + country?: StringFieldUpdateOperationsInput | string + primaryInterestInTopcoder?: StringFieldUpdateOperationsInput | string + tshirtSize?: NullableStringFieldUpdateOperationsInput | string | null + gender?: NullableStringFieldUpdateOperationsInput | string | null + shortBio?: StringFieldUpdateOperationsInput | string + birthDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + currentLocation?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitBasicInfoUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + country?: StringFieldUpdateOperationsInput | string + primaryInterestInTopcoder?: StringFieldUpdateOperationsInput | string + tshirtSize?: NullableStringFieldUpdateOperationsInput | string | null + gender?: NullableStringFieldUpdateOperationsInput | string | null + shortBio?: StringFieldUpdateOperationsInput | string + birthDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + currentLocation?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitLanguageCreateInput = { + id?: bigint | number + language: string + spokenLevel?: string | null + writtenLevel?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutLanguageInput + } + + export type memberTraitLanguageUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + language: string + spokenLevel?: string | null + writtenLevel?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitLanguageUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + language?: StringFieldUpdateOperationsInput | string + spokenLevel?: NullableStringFieldUpdateOperationsInput | string | null + writtenLevel?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutLanguageNestedInput + } + + export type memberTraitLanguageUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + language?: StringFieldUpdateOperationsInput | string + spokenLevel?: NullableStringFieldUpdateOperationsInput | string | null + writtenLevel?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitLanguageCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + language: string + spokenLevel?: string | null + writtenLevel?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitLanguageUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + language?: StringFieldUpdateOperationsInput | string + spokenLevel?: NullableStringFieldUpdateOperationsInput | string | null + writtenLevel?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitLanguageUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + language?: StringFieldUpdateOperationsInput | string + spokenLevel?: NullableStringFieldUpdateOperationsInput | string | null + writtenLevel?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitOnboardChecklistCreateInput = { + id?: bigint | number + listItemType: string + date: Date | string + message: string + status: string + skip?: boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutChecklistInput + } + + export type memberTraitOnboardChecklistUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + listItemType: string + date: Date | string + message: string + status: string + skip?: boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitOnboardChecklistUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + listItemType?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + message?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + skip?: NullableBoolFieldUpdateOperationsInput | boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutChecklistNestedInput + } + + export type memberTraitOnboardChecklistUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + listItemType?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + message?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + skip?: NullableBoolFieldUpdateOperationsInput | boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitOnboardChecklistCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + listItemType: string + date: Date | string + message: string + status: string + skip?: boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitOnboardChecklistUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + listItemType?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + message?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + skip?: NullableBoolFieldUpdateOperationsInput | boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitOnboardChecklistUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + listItemType?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + message?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + skip?: NullableBoolFieldUpdateOperationsInput | boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitPersonalizationCreateInput = { + id?: bigint | number + key?: string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutPersonalizationInput + } + + export type memberTraitPersonalizationUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + key?: string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitPersonalizationUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + key?: NullableStringFieldUpdateOperationsInput | string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutPersonalizationNestedInput + } + + export type memberTraitPersonalizationUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + key?: NullableStringFieldUpdateOperationsInput | string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitPersonalizationCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + key?: string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitPersonalizationUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + key?: NullableStringFieldUpdateOperationsInput | string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitPersonalizationUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + key?: NullableStringFieldUpdateOperationsInput | string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitCommunityCreateInput = { + id?: bigint | number + communityName: string + status: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + memberTraits: memberTraitsCreateNestedOneWithoutCommunityInput + } + + export type memberTraitCommunityUncheckedCreateInput = { + id?: bigint | number + memberTraitId: bigint | number + communityName: string + status: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitCommunityUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + communityName?: StringFieldUpdateOperationsInput | string + status?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + memberTraits?: memberTraitsUpdateOneRequiredWithoutCommunityNestedInput + } + + export type memberTraitCommunityUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + communityName?: StringFieldUpdateOperationsInput | string + status?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitCommunityCreateManyInput = { + id?: bigint | number + memberTraitId: bigint | number + communityName: string + status: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitCommunityUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + communityName?: StringFieldUpdateOperationsInput | string + status?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitCommunityUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + memberTraitId?: BigIntFieldUpdateOperationsInput | bigint | number + communityName?: StringFieldUpdateOperationsInput | string + status?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type BigIntFilter<$PrismaModel = never> = { + equals?: bigint | number | BigIntFieldRefInput<$PrismaModel> + in?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> + notIn?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> + lt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + lte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + not?: NestedBigIntFilter<$PrismaModel> | bigint | number + } + + export type StringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringFilter<$PrismaModel> | string + } + + export type BoolNullableFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null + not?: NestedBoolNullableFilter<$PrismaModel> | boolean | null + } + + export type FloatNullableFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableFilter<$PrismaModel> | number | null + } + + export type BigIntNullableFilter<$PrismaModel = never> = { + equals?: bigint | number | BigIntFieldRefInput<$PrismaModel> | null + in?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> | null + notIn?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> | null + lt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + lte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + not?: NestedBigIntNullableFilter<$PrismaModel> | bigint | number | null + } + + export type StringNullableFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableFilter<$PrismaModel> | string | null + } + + export type EnumMemberStatusNullableFilter<$PrismaModel = never> = { + equals?: $Enums.MemberStatus | EnumMemberStatusFieldRefInput<$PrismaModel> | null + in?: $Enums.MemberStatus[] | ListEnumMemberStatusFieldRefInput<$PrismaModel> | null + notIn?: $Enums.MemberStatus[] | ListEnumMemberStatusFieldRefInput<$PrismaModel> | null + not?: NestedEnumMemberStatusNullableFilter<$PrismaModel> | $Enums.MemberStatus | null + } + + export type DateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + + export type StringNullableListFilter<$PrismaModel = never> = { + equals?: string[] | ListStringFieldRefInput<$PrismaModel> | null + has?: string | StringFieldRefInput<$PrismaModel> | null + hasEvery?: string[] | ListStringFieldRefInput<$PrismaModel> + hasSome?: string[] | ListStringFieldRefInput<$PrismaModel> + isEmpty?: boolean + } + + export type IntNullableFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableFilter<$PrismaModel> | number | null + } + export type JsonNullableFilter<$PrismaModel = never> = + | PatchUndefined< + Either>, Exclude>, 'path'>>, + Required> + > + | OptionalFlat>, 'path'>> + + export type JsonNullableFilterBase<$PrismaModel = never> = { + equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + path?: string[] + mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | StringFieldRefInput<$PrismaModel> + string_starts_with?: string | StringFieldRefInput<$PrismaModel> + string_ends_with?: string | StringFieldRefInput<$PrismaModel> + array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + } + + export type DateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + + export type MemberMaxRatingNullableScalarRelationFilter = { + is?: memberMaxRatingWhereInput | null + isNot?: memberMaxRatingWhereInput | null + } + + export type MemberAddressListRelationFilter = { + every?: memberAddressWhereInput + some?: memberAddressWhereInput + none?: memberAddressWhereInput + } + + export type MemberPhoneListRelationFilter = { + every?: memberPhoneWhereInput + some?: memberPhoneWhereInput + none?: memberPhoneWhereInput + } + + export type MemberFinancialNullableScalarRelationFilter = { + is?: memberFinancialWhereInput | null + isNot?: memberFinancialWhereInput | null + } + + export type MemberStatsListRelationFilter = { + every?: memberStatsWhereInput + some?: memberStatsWhereInput + none?: memberStatsWhereInput + } + + export type MemberStatsHistoryListRelationFilter = { + every?: memberStatsHistoryWhereInput + some?: memberStatsHistoryWhereInput + none?: memberStatsHistoryWhereInput + } + + export type MemberChallengePointsListRelationFilter = { + every?: memberChallengePointsWhereInput + some?: memberChallengePointsWhereInput + none?: memberChallengePointsWhereInput + } + + export type MemberTraitsNullableScalarRelationFilter = { + is?: memberTraitsWhereInput | null + isNot?: memberTraitsWhereInput | null + } + + export type SortOrderInput = { + sort: SortOrder + nulls?: NullsOrder + } + + export type memberAddressOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberPhoneOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberStatsOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberStatsHistoryOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberChallengePointsOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberCountOrderByAggregateInput = { + userId?: SortOrder + handle?: SortOrder + handleLower?: SortOrder + email?: SortOrder + verified?: SortOrder + skillScore?: SortOrder + memberRatingId?: SortOrder + firstName?: SortOrder + lastName?: SortOrder + description?: SortOrder + otherLangName?: SortOrder + status?: SortOrder + newEmail?: SortOrder + emailVerifyToken?: SortOrder + emailVerifyTokenDate?: SortOrder + newEmailVerifyToken?: SortOrder + newEmailVerifyTokenDate?: SortOrder + country?: SortOrder + homeCountryCode?: SortOrder + competitionCountryCode?: SortOrder + photoURL?: SortOrder + tracks?: SortOrder + loginCount?: SortOrder + lastLoginDate?: SortOrder + availableForGigs?: SortOrder + availableForGigsLastUpdateDate?: SortOrder + lastProfileConfirmationDate?: SortOrder + skillScoreDeduction?: SortOrder + namesAndHandleAppearance?: SortOrder + aggregatedSkills?: SortOrder + enteredSkills?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberAvgOrderByAggregateInput = { + userId?: SortOrder + skillScore?: SortOrder + memberRatingId?: SortOrder + loginCount?: SortOrder + skillScoreDeduction?: SortOrder + } + + export type memberMaxOrderByAggregateInput = { + userId?: SortOrder + handle?: SortOrder + handleLower?: SortOrder + email?: SortOrder + verified?: SortOrder + skillScore?: SortOrder + memberRatingId?: SortOrder + firstName?: SortOrder + lastName?: SortOrder + description?: SortOrder + otherLangName?: SortOrder + status?: SortOrder + newEmail?: SortOrder + emailVerifyToken?: SortOrder + emailVerifyTokenDate?: SortOrder + newEmailVerifyToken?: SortOrder + newEmailVerifyTokenDate?: SortOrder + country?: SortOrder + homeCountryCode?: SortOrder + competitionCountryCode?: SortOrder + photoURL?: SortOrder + loginCount?: SortOrder + lastLoginDate?: SortOrder + availableForGigs?: SortOrder + availableForGigsLastUpdateDate?: SortOrder + lastProfileConfirmationDate?: SortOrder + skillScoreDeduction?: SortOrder + namesAndHandleAppearance?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberMinOrderByAggregateInput = { + userId?: SortOrder + handle?: SortOrder + handleLower?: SortOrder + email?: SortOrder + verified?: SortOrder + skillScore?: SortOrder + memberRatingId?: SortOrder + firstName?: SortOrder + lastName?: SortOrder + description?: SortOrder + otherLangName?: SortOrder + status?: SortOrder + newEmail?: SortOrder + emailVerifyToken?: SortOrder + emailVerifyTokenDate?: SortOrder + newEmailVerifyToken?: SortOrder + newEmailVerifyTokenDate?: SortOrder + country?: SortOrder + homeCountryCode?: SortOrder + competitionCountryCode?: SortOrder + photoURL?: SortOrder + loginCount?: SortOrder + lastLoginDate?: SortOrder + availableForGigs?: SortOrder + availableForGigsLastUpdateDate?: SortOrder + lastProfileConfirmationDate?: SortOrder + skillScoreDeduction?: SortOrder + namesAndHandleAppearance?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberSumOrderByAggregateInput = { + userId?: SortOrder + skillScore?: SortOrder + memberRatingId?: SortOrder + loginCount?: SortOrder + skillScoreDeduction?: SortOrder + } + + export type BigIntWithAggregatesFilter<$PrismaModel = never> = { + equals?: bigint | number | BigIntFieldRefInput<$PrismaModel> + in?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> + notIn?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> + lt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + lte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + not?: NestedBigIntWithAggregatesFilter<$PrismaModel> | bigint | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedBigIntFilter<$PrismaModel> + _min?: NestedBigIntFilter<$PrismaModel> + _max?: NestedBigIntFilter<$PrismaModel> + } + + export type StringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + + export type BoolNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null + not?: NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedBoolNullableFilter<$PrismaModel> + _max?: NestedBoolNullableFilter<$PrismaModel> + } + + export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedFloatNullableFilter<$PrismaModel> + _min?: NestedFloatNullableFilter<$PrismaModel> + _max?: NestedFloatNullableFilter<$PrismaModel> + } + + export type BigIntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: bigint | number | BigIntFieldRefInput<$PrismaModel> | null + in?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> | null + notIn?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> | null + lt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + lte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + not?: NestedBigIntNullableWithAggregatesFilter<$PrismaModel> | bigint | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedBigIntNullableFilter<$PrismaModel> + _min?: NestedBigIntNullableFilter<$PrismaModel> + _max?: NestedBigIntNullableFilter<$PrismaModel> + } + + export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedStringNullableFilter<$PrismaModel> + _max?: NestedStringNullableFilter<$PrismaModel> + } + + export type EnumMemberStatusNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.MemberStatus | EnumMemberStatusFieldRefInput<$PrismaModel> | null + in?: $Enums.MemberStatus[] | ListEnumMemberStatusFieldRefInput<$PrismaModel> | null + notIn?: $Enums.MemberStatus[] | ListEnumMemberStatusFieldRefInput<$PrismaModel> | null + not?: NestedEnumMemberStatusNullableWithAggregatesFilter<$PrismaModel> | $Enums.MemberStatus | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedEnumMemberStatusNullableFilter<$PrismaModel> + _max?: NestedEnumMemberStatusNullableFilter<$PrismaModel> + } + + export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> + } + + export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedIntNullableFilter<$PrismaModel> + _max?: NestedIntNullableFilter<$PrismaModel> + } + export type JsonNullableWithAggregatesFilter<$PrismaModel = never> = + | PatchUndefined< + Either>, Exclude>, 'path'>>, + Required> + > + | OptionalFlat>, 'path'>> + + export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = { + equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + path?: string[] + mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | StringFieldRefInput<$PrismaModel> + string_starts_with?: string | StringFieldRefInput<$PrismaModel> + string_ends_with?: string | StringFieldRefInput<$PrismaModel> + array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedJsonNullableFilter<$PrismaModel> + _max?: NestedJsonNullableFilter<$PrismaModel> + } + + export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + + export type MemberScalarRelationFilter = { + is?: memberWhereInput + isNot?: memberWhereInput + } + + export type memberAddressCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + streetAddr1?: SortOrder + streetAddr2?: SortOrder + city?: SortOrder + zip?: SortOrder + stateCode?: SortOrder + type?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberAddressAvgOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + } + + export type memberAddressMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + streetAddr1?: SortOrder + streetAddr2?: SortOrder + city?: SortOrder + zip?: SortOrder + stateCode?: SortOrder + type?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberAddressMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + streetAddr1?: SortOrder + streetAddr2?: SortOrder + city?: SortOrder + zip?: SortOrder + stateCode?: SortOrder + type?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberAddressSumOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + } + + export type memberPhoneUserIdNumberCompoundUniqueInput = { + userId: bigint | number + number: string + } + + export type memberPhoneCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + type?: SortOrder + number?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberPhoneAvgOrderByAggregateInput = { + userId?: SortOrder + } + + export type memberPhoneMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + type?: SortOrder + number?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberPhoneMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + type?: SortOrder + number?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberPhoneSumOrderByAggregateInput = { + userId?: SortOrder + } + + export type IntFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntFilter<$PrismaModel> | number + } + + export type memberMaxRatingCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + rating?: SortOrder + track?: SortOrder + subTrack?: SortOrder + ratingColor?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberMaxRatingAvgOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + rating?: SortOrder + } + + export type memberMaxRatingMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + rating?: SortOrder + track?: SortOrder + subTrack?: SortOrder + ratingColor?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberMaxRatingMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + rating?: SortOrder + track?: SortOrder + subTrack?: SortOrder + ratingColor?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberMaxRatingSumOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + rating?: SortOrder + } + + export type IntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedIntFilter<$PrismaModel> + _min?: NestedIntFilter<$PrismaModel> + _max?: NestedIntFilter<$PrismaModel> + } + + export type FloatFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatFilter<$PrismaModel> | number + } + + export type EnumFinancialStatusFilter<$PrismaModel = never> = { + equals?: $Enums.FinancialStatus | EnumFinancialStatusFieldRefInput<$PrismaModel> + in?: $Enums.FinancialStatus[] | ListEnumFinancialStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.FinancialStatus[] | ListEnumFinancialStatusFieldRefInput<$PrismaModel> + not?: NestedEnumFinancialStatusFilter<$PrismaModel> | $Enums.FinancialStatus + } + + export type memberFinancialCountOrderByAggregateInput = { + userId?: SortOrder + amount?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberFinancialAvgOrderByAggregateInput = { + userId?: SortOrder + amount?: SortOrder + } + + export type memberFinancialMaxOrderByAggregateInput = { + userId?: SortOrder + amount?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberFinancialMinOrderByAggregateInput = { + userId?: SortOrder + amount?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberFinancialSumOrderByAggregateInput = { + userId?: SortOrder + amount?: SortOrder + } + + export type FloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedFloatFilter<$PrismaModel> + _min?: NestedFloatFilter<$PrismaModel> + _max?: NestedFloatFilter<$PrismaModel> + } + + export type EnumFinancialStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.FinancialStatus | EnumFinancialStatusFieldRefInput<$PrismaModel> + in?: $Enums.FinancialStatus[] | ListEnumFinancialStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.FinancialStatus[] | ListEnumFinancialStatusFieldRefInput<$PrismaModel> + not?: NestedEnumFinancialStatusWithAggregatesFilter<$PrismaModel> | $Enums.FinancialStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumFinancialStatusFilter<$PrismaModel> + _max?: NestedEnumFinancialStatusFilter<$PrismaModel> + } + + export type BoolFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolFilter<$PrismaModel> | boolean + } + + export type memberStatsHistoryCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrder + typeId?: SortOrder + challengeId?: SortOrder + mostRecent?: SortOrder + oldRating?: SortOrder + newRating?: SortOrder + placement?: SortOrder + percentile?: SortOrder + oldVolatility?: SortOrder + newVolatility?: SortOrder + oldGlobalRank?: SortOrder + newGlobalRank?: SortOrder + oldCountryRank?: SortOrder + newCountryRank?: SortOrder + oldSchoolRank?: SortOrder + newSchoolRank?: SortOrder + eventDate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberStatsHistoryAvgOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + oldRating?: SortOrder + newRating?: SortOrder + placement?: SortOrder + percentile?: SortOrder + oldVolatility?: SortOrder + newVolatility?: SortOrder + oldGlobalRank?: SortOrder + newGlobalRank?: SortOrder + oldCountryRank?: SortOrder + newCountryRank?: SortOrder + oldSchoolRank?: SortOrder + newSchoolRank?: SortOrder + } + + export type memberStatsHistoryMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrder + typeId?: SortOrder + challengeId?: SortOrder + mostRecent?: SortOrder + oldRating?: SortOrder + newRating?: SortOrder + placement?: SortOrder + percentile?: SortOrder + oldVolatility?: SortOrder + newVolatility?: SortOrder + oldGlobalRank?: SortOrder + newGlobalRank?: SortOrder + oldCountryRank?: SortOrder + newCountryRank?: SortOrder + oldSchoolRank?: SortOrder + newSchoolRank?: SortOrder + eventDate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberStatsHistoryMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrder + typeId?: SortOrder + challengeId?: SortOrder + mostRecent?: SortOrder + oldRating?: SortOrder + newRating?: SortOrder + placement?: SortOrder + percentile?: SortOrder + oldVolatility?: SortOrder + newVolatility?: SortOrder + oldGlobalRank?: SortOrder + newGlobalRank?: SortOrder + oldCountryRank?: SortOrder + newCountryRank?: SortOrder + oldSchoolRank?: SortOrder + newSchoolRank?: SortOrder + eventDate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberStatsHistorySumOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + oldRating?: SortOrder + newRating?: SortOrder + placement?: SortOrder + percentile?: SortOrder + oldVolatility?: SortOrder + newVolatility?: SortOrder + oldGlobalRank?: SortOrder + newGlobalRank?: SortOrder + oldCountryRank?: SortOrder + newCountryRank?: SortOrder + oldSchoolRank?: SortOrder + newSchoolRank?: SortOrder + } + + export type BoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedBoolFilter<$PrismaModel> + _max?: NestedBoolFilter<$PrismaModel> + } + + export type memberStatsUserIdTrackIdTypeIdCompoundUniqueInput = { + userId: bigint | number + trackId: string + typeId: string + } + + export type memberStatsCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrder + typeId?: SortOrder + challenges?: SortOrder + wins?: SortOrder + mostRecentSubmission?: SortOrder + mostRecentEventDate?: SortOrder + rating?: SortOrder + avgRank?: SortOrder + avgNumSubmissions?: SortOrder + bestRank?: SortOrder + globalRank?: SortOrder + countryRank?: SortOrder + schoolRank?: SortOrder + volatility?: SortOrder + maxRating?: SortOrder + minRating?: SortOrder + topFiveFinishes?: SortOrder + topTenFinishes?: SortOrder + isPrivate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberStatsAvgOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + challenges?: SortOrder + wins?: SortOrder + rating?: SortOrder + avgRank?: SortOrder + avgNumSubmissions?: SortOrder + bestRank?: SortOrder + globalRank?: SortOrder + countryRank?: SortOrder + schoolRank?: SortOrder + volatility?: SortOrder + maxRating?: SortOrder + minRating?: SortOrder + topFiveFinishes?: SortOrder + topTenFinishes?: SortOrder + } + + export type memberStatsMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrder + typeId?: SortOrder + challenges?: SortOrder + wins?: SortOrder + mostRecentSubmission?: SortOrder + mostRecentEventDate?: SortOrder + rating?: SortOrder + avgRank?: SortOrder + avgNumSubmissions?: SortOrder + bestRank?: SortOrder + globalRank?: SortOrder + countryRank?: SortOrder + schoolRank?: SortOrder + volatility?: SortOrder + maxRating?: SortOrder + minRating?: SortOrder + topFiveFinishes?: SortOrder + topTenFinishes?: SortOrder + isPrivate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberStatsMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + trackId?: SortOrder + typeId?: SortOrder + challenges?: SortOrder + wins?: SortOrder + mostRecentSubmission?: SortOrder + mostRecentEventDate?: SortOrder + rating?: SortOrder + avgRank?: SortOrder + avgNumSubmissions?: SortOrder + bestRank?: SortOrder + globalRank?: SortOrder + countryRank?: SortOrder + schoolRank?: SortOrder + volatility?: SortOrder + maxRating?: SortOrder + minRating?: SortOrder + topFiveFinishes?: SortOrder + topTenFinishes?: SortOrder + isPrivate?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberStatsSumOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + challenges?: SortOrder + wins?: SortOrder + rating?: SortOrder + avgRank?: SortOrder + avgNumSubmissions?: SortOrder + bestRank?: SortOrder + globalRank?: SortOrder + countryRank?: SortOrder + schoolRank?: SortOrder + volatility?: SortOrder + maxRating?: SortOrder + minRating?: SortOrder + topFiveFinishes?: SortOrder + topTenFinishes?: SortOrder + } + + export type memberChallengePointsChallengeIdUserIdCompoundUniqueInput = { + challengeId: string + userId: bigint | number + } + + export type memberChallengePointsCountOrderByAggregateInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberChallengePointsAvgOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + } + + export type memberChallengePointsMaxOrderByAggregateInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberChallengePointsMinOrderByAggregateInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberChallengePointsSumOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + } + + export type MemberTraitDeviceListRelationFilter = { + every?: memberTraitDeviceWhereInput + some?: memberTraitDeviceWhereInput + none?: memberTraitDeviceWhereInput + } + + export type MemberTraitSoftwareListRelationFilter = { + every?: memberTraitSoftwareWhereInput + some?: memberTraitSoftwareWhereInput + none?: memberTraitSoftwareWhereInput + } + + export type MemberTraitServiceProviderListRelationFilter = { + every?: memberTraitServiceProviderWhereInput + some?: memberTraitServiceProviderWhereInput + none?: memberTraitServiceProviderWhereInput + } + + export type MemberTraitWorkListRelationFilter = { + every?: memberTraitWorkWhereInput + some?: memberTraitWorkWhereInput + none?: memberTraitWorkWhereInput + } + + export type MemberTraitEducationListRelationFilter = { + every?: memberTraitEducationWhereInput + some?: memberTraitEducationWhereInput + none?: memberTraitEducationWhereInput + } + + export type MemberTraitBasicInfoListRelationFilter = { + every?: memberTraitBasicInfoWhereInput + some?: memberTraitBasicInfoWhereInput + none?: memberTraitBasicInfoWhereInput + } + + export type MemberTraitLanguageListRelationFilter = { + every?: memberTraitLanguageWhereInput + some?: memberTraitLanguageWhereInput + none?: memberTraitLanguageWhereInput + } + + export type MemberTraitOnboardChecklistListRelationFilter = { + every?: memberTraitOnboardChecklistWhereInput + some?: memberTraitOnboardChecklistWhereInput + none?: memberTraitOnboardChecklistWhereInput + } + + export type MemberTraitPersonalizationListRelationFilter = { + every?: memberTraitPersonalizationWhereInput + some?: memberTraitPersonalizationWhereInput + none?: memberTraitPersonalizationWhereInput + } + + export type MemberTraitCommunityListRelationFilter = { + every?: memberTraitCommunityWhereInput + some?: memberTraitCommunityWhereInput + none?: memberTraitCommunityWhereInput + } + + export type memberTraitDeviceOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitSoftwareOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitServiceProviderOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitWorkOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitEducationOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitBasicInfoOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitLanguageOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitOnboardChecklistOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitPersonalizationOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitCommunityOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type memberTraitsCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + subscriptions?: SortOrder + hobby?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitsAvgOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + } + + export type memberTraitsMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitsMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitsSumOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + } + + export type EnumDeviceTypeFilter<$PrismaModel = never> = { + equals?: $Enums.DeviceType | EnumDeviceTypeFieldRefInput<$PrismaModel> + in?: $Enums.DeviceType[] | ListEnumDeviceTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.DeviceType[] | ListEnumDeviceTypeFieldRefInput<$PrismaModel> + not?: NestedEnumDeviceTypeFilter<$PrismaModel> | $Enums.DeviceType + } + + export type MemberTraitsScalarRelationFilter = { + is?: memberTraitsWhereInput + isNot?: memberTraitsWhereInput + } + + export type memberTraitDeviceCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + deviceType?: SortOrder + manufacturer?: SortOrder + model?: SortOrder + operatingSystem?: SortOrder + osVersion?: SortOrder + osLanguage?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitDeviceAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitDeviceMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + deviceType?: SortOrder + manufacturer?: SortOrder + model?: SortOrder + operatingSystem?: SortOrder + osVersion?: SortOrder + osLanguage?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitDeviceMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + deviceType?: SortOrder + manufacturer?: SortOrder + model?: SortOrder + operatingSystem?: SortOrder + osVersion?: SortOrder + osLanguage?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitDeviceSumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type EnumDeviceTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.DeviceType | EnumDeviceTypeFieldRefInput<$PrismaModel> + in?: $Enums.DeviceType[] | ListEnumDeviceTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.DeviceType[] | ListEnumDeviceTypeFieldRefInput<$PrismaModel> + not?: NestedEnumDeviceTypeWithAggregatesFilter<$PrismaModel> | $Enums.DeviceType + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumDeviceTypeFilter<$PrismaModel> + _max?: NestedEnumDeviceTypeFilter<$PrismaModel> + } + + export type EnumSoftwareTypeFilter<$PrismaModel = never> = { + equals?: $Enums.SoftwareType | EnumSoftwareTypeFieldRefInput<$PrismaModel> + in?: $Enums.SoftwareType[] | ListEnumSoftwareTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.SoftwareType[] | ListEnumSoftwareTypeFieldRefInput<$PrismaModel> + not?: NestedEnumSoftwareTypeFilter<$PrismaModel> | $Enums.SoftwareType + } + + export type memberTraitSoftwareCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + softwareType?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitSoftwareAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitSoftwareMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + softwareType?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitSoftwareMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + softwareType?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitSoftwareSumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type EnumSoftwareTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.SoftwareType | EnumSoftwareTypeFieldRefInput<$PrismaModel> + in?: $Enums.SoftwareType[] | ListEnumSoftwareTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.SoftwareType[] | ListEnumSoftwareTypeFieldRefInput<$PrismaModel> + not?: NestedEnumSoftwareTypeWithAggregatesFilter<$PrismaModel> | $Enums.SoftwareType + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumSoftwareTypeFilter<$PrismaModel> + _max?: NestedEnumSoftwareTypeFilter<$PrismaModel> + } + + export type EnumServiceProviderTypeFilter<$PrismaModel = never> = { + equals?: $Enums.ServiceProviderType | EnumServiceProviderTypeFieldRefInput<$PrismaModel> + in?: $Enums.ServiceProviderType[] | ListEnumServiceProviderTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.ServiceProviderType[] | ListEnumServiceProviderTypeFieldRefInput<$PrismaModel> + not?: NestedEnumServiceProviderTypeFilter<$PrismaModel> | $Enums.ServiceProviderType + } + + export type memberTraitServiceProviderCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + type?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitServiceProviderAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitServiceProviderMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + type?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitServiceProviderMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + type?: SortOrder + name?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitServiceProviderSumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type EnumServiceProviderTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.ServiceProviderType | EnumServiceProviderTypeFieldRefInput<$PrismaModel> + in?: $Enums.ServiceProviderType[] | ListEnumServiceProviderTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.ServiceProviderType[] | ListEnumServiceProviderTypeFieldRefInput<$PrismaModel> + not?: NestedEnumServiceProviderTypeWithAggregatesFilter<$PrismaModel> | $Enums.ServiceProviderType + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumServiceProviderTypeFilter<$PrismaModel> + _max?: NestedEnumServiceProviderTypeFilter<$PrismaModel> + } + + export type EnumWorkIndustryTypeNullableFilter<$PrismaModel = never> = { + equals?: $Enums.WorkIndustryType | EnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + in?: $Enums.WorkIndustryType[] | ListEnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + notIn?: $Enums.WorkIndustryType[] | ListEnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + not?: NestedEnumWorkIndustryTypeNullableFilter<$PrismaModel> | $Enums.WorkIndustryType | null + } + + export type memberTraitWorkCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + industry?: SortOrder + otherIndustry?: SortOrder + companyName?: SortOrder + position?: SortOrder + startDate?: SortOrder + endDate?: SortOrder + working?: SortOrder + description?: SortOrder + associatedSkills?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitWorkAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitWorkMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + industry?: SortOrder + otherIndustry?: SortOrder + companyName?: SortOrder + position?: SortOrder + startDate?: SortOrder + endDate?: SortOrder + working?: SortOrder + description?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitWorkMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + industry?: SortOrder + otherIndustry?: SortOrder + companyName?: SortOrder + position?: SortOrder + startDate?: SortOrder + endDate?: SortOrder + working?: SortOrder + description?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitWorkSumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type EnumWorkIndustryTypeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.WorkIndustryType | EnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + in?: $Enums.WorkIndustryType[] | ListEnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + notIn?: $Enums.WorkIndustryType[] | ListEnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + not?: NestedEnumWorkIndustryTypeNullableWithAggregatesFilter<$PrismaModel> | $Enums.WorkIndustryType | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedEnumWorkIndustryTypeNullableFilter<$PrismaModel> + _max?: NestedEnumWorkIndustryTypeNullableFilter<$PrismaModel> + } + + export type memberTraitEducationCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + collegeName?: SortOrder + degree?: SortOrder + endYear?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitEducationAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + endYear?: SortOrder + } + + export type memberTraitEducationMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + collegeName?: SortOrder + degree?: SortOrder + endYear?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitEducationMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + collegeName?: SortOrder + degree?: SortOrder + endYear?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitEducationSumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + endYear?: SortOrder + } + + export type memberTraitBasicInfoCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + userId?: SortOrder + country?: SortOrder + primaryInterestInTopcoder?: SortOrder + tshirtSize?: SortOrder + gender?: SortOrder + shortBio?: SortOrder + birthDate?: SortOrder + currentLocation?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitBasicInfoAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + userId?: SortOrder + } + + export type memberTraitBasicInfoMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + userId?: SortOrder + country?: SortOrder + primaryInterestInTopcoder?: SortOrder + tshirtSize?: SortOrder + gender?: SortOrder + shortBio?: SortOrder + birthDate?: SortOrder + currentLocation?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitBasicInfoMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + userId?: SortOrder + country?: SortOrder + primaryInterestInTopcoder?: SortOrder + tshirtSize?: SortOrder + gender?: SortOrder + shortBio?: SortOrder + birthDate?: SortOrder + currentLocation?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitBasicInfoSumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + userId?: SortOrder + } + + export type memberTraitLanguageCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + language?: SortOrder + spokenLevel?: SortOrder + writtenLevel?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitLanguageAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitLanguageMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + language?: SortOrder + spokenLevel?: SortOrder + writtenLevel?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitLanguageMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + language?: SortOrder + spokenLevel?: SortOrder + writtenLevel?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitLanguageSumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitOnboardChecklistCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + listItemType?: SortOrder + date?: SortOrder + message?: SortOrder + status?: SortOrder + skip?: SortOrder + metadata?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitOnboardChecklistAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitOnboardChecklistMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + listItemType?: SortOrder + date?: SortOrder + message?: SortOrder + status?: SortOrder + skip?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitOnboardChecklistMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + listItemType?: SortOrder + date?: SortOrder + message?: SortOrder + status?: SortOrder + skip?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitOnboardChecklistSumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitPersonalizationCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + key?: SortOrder + value?: SortOrder + private?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitPersonalizationAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitPersonalizationMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + key?: SortOrder + private?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitPersonalizationMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + key?: SortOrder + private?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitPersonalizationSumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitCommunityCountOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + communityName?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitCommunityAvgOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberTraitCommunityMaxOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + communityName?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitCommunityMinOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + communityName?: SortOrder + status?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberTraitCommunitySumOrderByAggregateInput = { + id?: SortOrder + memberTraitId?: SortOrder + } + + export type memberCreatetracksInput = { + set: string[] + } + + export type memberMaxRatingCreateNestedOneWithoutMemberInput = { + create?: XOR + connectOrCreate?: memberMaxRatingCreateOrConnectWithoutMemberInput + connect?: memberMaxRatingWhereUniqueInput + } + + export type memberAddressCreateNestedManyWithoutMemberInput = { + create?: XOR | memberAddressCreateWithoutMemberInput[] | memberAddressUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberAddressCreateOrConnectWithoutMemberInput | memberAddressCreateOrConnectWithoutMemberInput[] + createMany?: memberAddressCreateManyMemberInputEnvelope + connect?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + } + + export type memberPhoneCreateNestedManyWithoutMemberInput = { + create?: XOR | memberPhoneCreateWithoutMemberInput[] | memberPhoneUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberPhoneCreateOrConnectWithoutMemberInput | memberPhoneCreateOrConnectWithoutMemberInput[] + createMany?: memberPhoneCreateManyMemberInputEnvelope + connect?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + } + + export type memberFinancialCreateNestedOneWithoutMemberInput = { + create?: XOR + connectOrCreate?: memberFinancialCreateOrConnectWithoutMemberInput + connect?: memberFinancialWhereUniqueInput + } + + export type memberStatsCreateNestedManyWithoutMemberInput = { + create?: XOR | memberStatsCreateWithoutMemberInput[] | memberStatsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberStatsCreateOrConnectWithoutMemberInput | memberStatsCreateOrConnectWithoutMemberInput[] + createMany?: memberStatsCreateManyMemberInputEnvelope + connect?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + } + + export type memberStatsHistoryCreateNestedManyWithoutMemberInput = { + create?: XOR | memberStatsHistoryCreateWithoutMemberInput[] | memberStatsHistoryUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberStatsHistoryCreateOrConnectWithoutMemberInput | memberStatsHistoryCreateOrConnectWithoutMemberInput[] + createMany?: memberStatsHistoryCreateManyMemberInputEnvelope + connect?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + } + + export type memberChallengePointsCreateNestedManyWithoutMemberInput = { + create?: XOR | memberChallengePointsCreateWithoutMemberInput[] | memberChallengePointsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberChallengePointsCreateOrConnectWithoutMemberInput | memberChallengePointsCreateOrConnectWithoutMemberInput[] + createMany?: memberChallengePointsCreateManyMemberInputEnvelope + connect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + } + + export type memberTraitsCreateNestedOneWithoutMemberInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutMemberInput + connect?: memberTraitsWhereUniqueInput + } + + export type memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput = { + create?: XOR + connectOrCreate?: memberMaxRatingCreateOrConnectWithoutMemberInput + connect?: memberMaxRatingWhereUniqueInput + } + + export type memberAddressUncheckedCreateNestedManyWithoutMemberInput = { + create?: XOR | memberAddressCreateWithoutMemberInput[] | memberAddressUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberAddressCreateOrConnectWithoutMemberInput | memberAddressCreateOrConnectWithoutMemberInput[] + createMany?: memberAddressCreateManyMemberInputEnvelope + connect?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + } + + export type memberPhoneUncheckedCreateNestedManyWithoutMemberInput = { + create?: XOR | memberPhoneCreateWithoutMemberInput[] | memberPhoneUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberPhoneCreateOrConnectWithoutMemberInput | memberPhoneCreateOrConnectWithoutMemberInput[] + createMany?: memberPhoneCreateManyMemberInputEnvelope + connect?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + } + + export type memberFinancialUncheckedCreateNestedOneWithoutMemberInput = { + create?: XOR + connectOrCreate?: memberFinancialCreateOrConnectWithoutMemberInput + connect?: memberFinancialWhereUniqueInput + } + + export type memberStatsUncheckedCreateNestedManyWithoutMemberInput = { + create?: XOR | memberStatsCreateWithoutMemberInput[] | memberStatsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberStatsCreateOrConnectWithoutMemberInput | memberStatsCreateOrConnectWithoutMemberInput[] + createMany?: memberStatsCreateManyMemberInputEnvelope + connect?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + } + + export type memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput = { + create?: XOR | memberStatsHistoryCreateWithoutMemberInput[] | memberStatsHistoryUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberStatsHistoryCreateOrConnectWithoutMemberInput | memberStatsHistoryCreateOrConnectWithoutMemberInput[] + createMany?: memberStatsHistoryCreateManyMemberInputEnvelope + connect?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + } + + export type memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput = { + create?: XOR | memberChallengePointsCreateWithoutMemberInput[] | memberChallengePointsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberChallengePointsCreateOrConnectWithoutMemberInput | memberChallengePointsCreateOrConnectWithoutMemberInput[] + createMany?: memberChallengePointsCreateManyMemberInputEnvelope + connect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + } + + export type memberTraitsUncheckedCreateNestedOneWithoutMemberInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutMemberInput + connect?: memberTraitsWhereUniqueInput + } + + export type BigIntFieldUpdateOperationsInput = { + set?: bigint | number + increment?: bigint | number + decrement?: bigint | number + multiply?: bigint | number + divide?: bigint | number + } + + export type StringFieldUpdateOperationsInput = { + set?: string + } + + export type NullableBoolFieldUpdateOperationsInput = { + set?: boolean | null + } + + export type NullableFloatFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type NullableBigIntFieldUpdateOperationsInput = { + set?: bigint | number | null + increment?: bigint | number + decrement?: bigint | number + multiply?: bigint | number + divide?: bigint | number + } + + export type NullableStringFieldUpdateOperationsInput = { + set?: string | null + } + + export type NullableEnumMemberStatusFieldUpdateOperationsInput = { + set?: $Enums.MemberStatus | null + } + + export type NullableDateTimeFieldUpdateOperationsInput = { + set?: Date | string | null + } + + export type memberUpdatetracksInput = { + set?: string[] + push?: string | string[] + } + + export type NullableIntFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type DateTimeFieldUpdateOperationsInput = { + set?: Date | string + } + + export type memberMaxRatingUpdateOneWithoutMemberNestedInput = { + create?: XOR + connectOrCreate?: memberMaxRatingCreateOrConnectWithoutMemberInput + upsert?: memberMaxRatingUpsertWithoutMemberInput + disconnect?: memberMaxRatingWhereInput | boolean + delete?: memberMaxRatingWhereInput | boolean + connect?: memberMaxRatingWhereUniqueInput + update?: XOR, memberMaxRatingUncheckedUpdateWithoutMemberInput> + } + + export type memberAddressUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberAddressCreateWithoutMemberInput[] | memberAddressUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberAddressCreateOrConnectWithoutMemberInput | memberAddressCreateOrConnectWithoutMemberInput[] + upsert?: memberAddressUpsertWithWhereUniqueWithoutMemberInput | memberAddressUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberAddressCreateManyMemberInputEnvelope + set?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + disconnect?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + delete?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + connect?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + update?: memberAddressUpdateWithWhereUniqueWithoutMemberInput | memberAddressUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberAddressUpdateManyWithWhereWithoutMemberInput | memberAddressUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberAddressScalarWhereInput | memberAddressScalarWhereInput[] + } + + export type memberPhoneUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberPhoneCreateWithoutMemberInput[] | memberPhoneUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberPhoneCreateOrConnectWithoutMemberInput | memberPhoneCreateOrConnectWithoutMemberInput[] + upsert?: memberPhoneUpsertWithWhereUniqueWithoutMemberInput | memberPhoneUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberPhoneCreateManyMemberInputEnvelope + set?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + disconnect?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + delete?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + connect?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + update?: memberPhoneUpdateWithWhereUniqueWithoutMemberInput | memberPhoneUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberPhoneUpdateManyWithWhereWithoutMemberInput | memberPhoneUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberPhoneScalarWhereInput | memberPhoneScalarWhereInput[] + } + + export type memberFinancialUpdateOneWithoutMemberNestedInput = { + create?: XOR + connectOrCreate?: memberFinancialCreateOrConnectWithoutMemberInput + upsert?: memberFinancialUpsertWithoutMemberInput + disconnect?: memberFinancialWhereInput | boolean + delete?: memberFinancialWhereInput | boolean + connect?: memberFinancialWhereUniqueInput + update?: XOR, memberFinancialUncheckedUpdateWithoutMemberInput> + } + + export type memberStatsUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberStatsCreateWithoutMemberInput[] | memberStatsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberStatsCreateOrConnectWithoutMemberInput | memberStatsCreateOrConnectWithoutMemberInput[] + upsert?: memberStatsUpsertWithWhereUniqueWithoutMemberInput | memberStatsUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberStatsCreateManyMemberInputEnvelope + set?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + disconnect?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + delete?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + connect?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + update?: memberStatsUpdateWithWhereUniqueWithoutMemberInput | memberStatsUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberStatsUpdateManyWithWhereWithoutMemberInput | memberStatsUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberStatsScalarWhereInput | memberStatsScalarWhereInput[] + } + + export type memberStatsHistoryUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberStatsHistoryCreateWithoutMemberInput[] | memberStatsHistoryUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberStatsHistoryCreateOrConnectWithoutMemberInput | memberStatsHistoryCreateOrConnectWithoutMemberInput[] + upsert?: memberStatsHistoryUpsertWithWhereUniqueWithoutMemberInput | memberStatsHistoryUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberStatsHistoryCreateManyMemberInputEnvelope + set?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + disconnect?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + delete?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + connect?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + update?: memberStatsHistoryUpdateWithWhereUniqueWithoutMemberInput | memberStatsHistoryUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberStatsHistoryUpdateManyWithWhereWithoutMemberInput | memberStatsHistoryUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberStatsHistoryScalarWhereInput | memberStatsHistoryScalarWhereInput[] + } + + export type memberChallengePointsUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberChallengePointsCreateWithoutMemberInput[] | memberChallengePointsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberChallengePointsCreateOrConnectWithoutMemberInput | memberChallengePointsCreateOrConnectWithoutMemberInput[] + upsert?: memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput | memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberChallengePointsCreateManyMemberInputEnvelope + set?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + disconnect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + delete?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + connect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + update?: memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput | memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberChallengePointsUpdateManyWithWhereWithoutMemberInput | memberChallengePointsUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberChallengePointsScalarWhereInput | memberChallengePointsScalarWhereInput[] + } + + export type memberTraitsUpdateOneWithoutMemberNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutMemberInput + upsert?: memberTraitsUpsertWithoutMemberInput + disconnect?: memberTraitsWhereInput | boolean + delete?: memberTraitsWhereInput | boolean + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutMemberInput> + } + + export type memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput = { + create?: XOR + connectOrCreate?: memberMaxRatingCreateOrConnectWithoutMemberInput + upsert?: memberMaxRatingUpsertWithoutMemberInput + disconnect?: memberMaxRatingWhereInput | boolean + delete?: memberMaxRatingWhereInput | boolean + connect?: memberMaxRatingWhereUniqueInput + update?: XOR, memberMaxRatingUncheckedUpdateWithoutMemberInput> + } + + export type memberAddressUncheckedUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberAddressCreateWithoutMemberInput[] | memberAddressUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberAddressCreateOrConnectWithoutMemberInput | memberAddressCreateOrConnectWithoutMemberInput[] + upsert?: memberAddressUpsertWithWhereUniqueWithoutMemberInput | memberAddressUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberAddressCreateManyMemberInputEnvelope + set?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + disconnect?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + delete?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + connect?: memberAddressWhereUniqueInput | memberAddressWhereUniqueInput[] + update?: memberAddressUpdateWithWhereUniqueWithoutMemberInput | memberAddressUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberAddressUpdateManyWithWhereWithoutMemberInput | memberAddressUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberAddressScalarWhereInput | memberAddressScalarWhereInput[] + } + + export type memberPhoneUncheckedUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberPhoneCreateWithoutMemberInput[] | memberPhoneUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberPhoneCreateOrConnectWithoutMemberInput | memberPhoneCreateOrConnectWithoutMemberInput[] + upsert?: memberPhoneUpsertWithWhereUniqueWithoutMemberInput | memberPhoneUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberPhoneCreateManyMemberInputEnvelope + set?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + disconnect?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + delete?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + connect?: memberPhoneWhereUniqueInput | memberPhoneWhereUniqueInput[] + update?: memberPhoneUpdateWithWhereUniqueWithoutMemberInput | memberPhoneUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberPhoneUpdateManyWithWhereWithoutMemberInput | memberPhoneUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberPhoneScalarWhereInput | memberPhoneScalarWhereInput[] + } + + export type memberFinancialUncheckedUpdateOneWithoutMemberNestedInput = { + create?: XOR + connectOrCreate?: memberFinancialCreateOrConnectWithoutMemberInput + upsert?: memberFinancialUpsertWithoutMemberInput + disconnect?: memberFinancialWhereInput | boolean + delete?: memberFinancialWhereInput | boolean + connect?: memberFinancialWhereUniqueInput + update?: XOR, memberFinancialUncheckedUpdateWithoutMemberInput> + } + + export type memberStatsUncheckedUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberStatsCreateWithoutMemberInput[] | memberStatsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberStatsCreateOrConnectWithoutMemberInput | memberStatsCreateOrConnectWithoutMemberInput[] + upsert?: memberStatsUpsertWithWhereUniqueWithoutMemberInput | memberStatsUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberStatsCreateManyMemberInputEnvelope + set?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + disconnect?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + delete?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + connect?: memberStatsWhereUniqueInput | memberStatsWhereUniqueInput[] + update?: memberStatsUpdateWithWhereUniqueWithoutMemberInput | memberStatsUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberStatsUpdateManyWithWhereWithoutMemberInput | memberStatsUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberStatsScalarWhereInput | memberStatsScalarWhereInput[] + } + + export type memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberStatsHistoryCreateWithoutMemberInput[] | memberStatsHistoryUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberStatsHistoryCreateOrConnectWithoutMemberInput | memberStatsHistoryCreateOrConnectWithoutMemberInput[] + upsert?: memberStatsHistoryUpsertWithWhereUniqueWithoutMemberInput | memberStatsHistoryUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberStatsHistoryCreateManyMemberInputEnvelope + set?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + disconnect?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + delete?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + connect?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] + update?: memberStatsHistoryUpdateWithWhereUniqueWithoutMemberInput | memberStatsHistoryUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberStatsHistoryUpdateManyWithWhereWithoutMemberInput | memberStatsHistoryUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberStatsHistoryScalarWhereInput | memberStatsHistoryScalarWhereInput[] + } + + export type memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberChallengePointsCreateWithoutMemberInput[] | memberChallengePointsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberChallengePointsCreateOrConnectWithoutMemberInput | memberChallengePointsCreateOrConnectWithoutMemberInput[] + upsert?: memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput | memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberChallengePointsCreateManyMemberInputEnvelope + set?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + disconnect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + delete?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + connect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + update?: memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput | memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberChallengePointsUpdateManyWithWhereWithoutMemberInput | memberChallengePointsUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberChallengePointsScalarWhereInput | memberChallengePointsScalarWhereInput[] + } + + export type memberTraitsUncheckedUpdateOneWithoutMemberNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutMemberInput + upsert?: memberTraitsUpsertWithoutMemberInput + disconnect?: memberTraitsWhereInput | boolean + delete?: memberTraitsWhereInput | boolean + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutMemberInput> + } + + export type memberCreateNestedOneWithoutAddressesInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutAddressesInput + connect?: memberWhereUniqueInput + } + + export type memberUpdateOneRequiredWithoutAddressesNestedInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutAddressesInput + upsert?: memberUpsertWithoutAddressesInput + connect?: memberWhereUniqueInput + update?: XOR, memberUncheckedUpdateWithoutAddressesInput> + } + + export type memberCreateNestedOneWithoutPhonesInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutPhonesInput + connect?: memberWhereUniqueInput + } + + export type memberUpdateOneRequiredWithoutPhonesNestedInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutPhonesInput + upsert?: memberUpsertWithoutPhonesInput + connect?: memberWhereUniqueInput + update?: XOR, memberUncheckedUpdateWithoutPhonesInput> + } + + export type memberCreateNestedOneWithoutMaxRatingInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutMaxRatingInput + connect?: memberWhereUniqueInput + } + + export type IntFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type memberUpdateOneRequiredWithoutMaxRatingNestedInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutMaxRatingInput + upsert?: memberUpsertWithoutMaxRatingInput + connect?: memberWhereUniqueInput + update?: XOR, memberUncheckedUpdateWithoutMaxRatingInput> + } + + export type memberCreateNestedOneWithoutFinancialInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutFinancialInput + connect?: memberWhereUniqueInput + } + + export type FloatFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type EnumFinancialStatusFieldUpdateOperationsInput = { + set?: $Enums.FinancialStatus + } + + export type memberUpdateOneRequiredWithoutFinancialNestedInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutFinancialInput + upsert?: memberUpsertWithoutFinancialInput + connect?: memberWhereUniqueInput + update?: XOR, memberUncheckedUpdateWithoutFinancialInput> + } + + export type memberCreateNestedOneWithoutMemberStatsHistoryInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutMemberStatsHistoryInput + connect?: memberWhereUniqueInput + } + + export type BoolFieldUpdateOperationsInput = { + set?: boolean + } + + export type memberUpdateOneRequiredWithoutMemberStatsHistoryNestedInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutMemberStatsHistoryInput + upsert?: memberUpsertWithoutMemberStatsHistoryInput + connect?: memberWhereUniqueInput + update?: XOR, memberUncheckedUpdateWithoutMemberStatsHistoryInput> + } + + export type memberCreateNestedOneWithoutMemberStatsInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutMemberStatsInput + connect?: memberWhereUniqueInput + } + + export type memberUpdateOneRequiredWithoutMemberStatsNestedInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutMemberStatsInput + upsert?: memberUpsertWithoutMemberStatsInput + connect?: memberWhereUniqueInput + update?: XOR, memberUncheckedUpdateWithoutMemberStatsInput> + } + + export type memberCreateNestedOneWithoutChallengePointsInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutChallengePointsInput + connect?: memberWhereUniqueInput + } + + export type memberUpdateOneRequiredWithoutChallengePointsNestedInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutChallengePointsInput + upsert?: memberUpsertWithoutChallengePointsInput + connect?: memberWhereUniqueInput + update?: XOR, memberUncheckedUpdateWithoutChallengePointsInput> + } + + export type memberTraitsCreatesubscriptionsInput = { + set: string[] + } + + export type memberTraitsCreatehobbyInput = { + set: string[] + } + + export type memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitDeviceCreateWithoutMemberTraitsInput[] | memberTraitDeviceUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitDeviceCreateOrConnectWithoutMemberTraitsInput | memberTraitDeviceCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitDeviceCreateManyMemberTraitsInputEnvelope + connect?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + } + + export type memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitSoftwareCreateWithoutMemberTraitsInput[] | memberTraitSoftwareUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitSoftwareCreateOrConnectWithoutMemberTraitsInput | memberTraitSoftwareCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitSoftwareCreateManyMemberTraitsInputEnvelope + connect?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + } + + export type memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitServiceProviderCreateWithoutMemberTraitsInput[] | memberTraitServiceProviderUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitServiceProviderCreateOrConnectWithoutMemberTraitsInput | memberTraitServiceProviderCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitServiceProviderCreateManyMemberTraitsInputEnvelope + connect?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + } + + export type memberTraitWorkCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitWorkCreateWithoutMemberTraitsInput[] | memberTraitWorkUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitWorkCreateOrConnectWithoutMemberTraitsInput | memberTraitWorkCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitWorkCreateManyMemberTraitsInputEnvelope + connect?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + } + + export type memberTraitEducationCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitEducationCreateWithoutMemberTraitsInput[] | memberTraitEducationUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitEducationCreateOrConnectWithoutMemberTraitsInput | memberTraitEducationCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitEducationCreateManyMemberTraitsInputEnvelope + connect?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + } + + export type memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitBasicInfoCreateWithoutMemberTraitsInput[] | memberTraitBasicInfoUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitBasicInfoCreateOrConnectWithoutMemberTraitsInput | memberTraitBasicInfoCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitBasicInfoCreateManyMemberTraitsInputEnvelope + connect?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + } + + export type memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitLanguageCreateWithoutMemberTraitsInput[] | memberTraitLanguageUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitLanguageCreateOrConnectWithoutMemberTraitsInput | memberTraitLanguageCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitLanguageCreateManyMemberTraitsInputEnvelope + connect?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + } + + export type memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitOnboardChecklistCreateWithoutMemberTraitsInput[] | memberTraitOnboardChecklistUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitOnboardChecklistCreateOrConnectWithoutMemberTraitsInput | memberTraitOnboardChecklistCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitOnboardChecklistCreateManyMemberTraitsInputEnvelope + connect?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + } + + export type memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitPersonalizationCreateWithoutMemberTraitsInput[] | memberTraitPersonalizationUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitPersonalizationCreateOrConnectWithoutMemberTraitsInput | memberTraitPersonalizationCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitPersonalizationCreateManyMemberTraitsInputEnvelope + connect?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + } + + export type memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitCommunityCreateWithoutMemberTraitsInput[] | memberTraitCommunityUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitCommunityCreateOrConnectWithoutMemberTraitsInput | memberTraitCommunityCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitCommunityCreateManyMemberTraitsInputEnvelope + connect?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + } + + export type memberCreateNestedOneWithoutMemberTraitsInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutMemberTraitsInput + connect?: memberWhereUniqueInput + } + + export type memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitDeviceCreateWithoutMemberTraitsInput[] | memberTraitDeviceUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitDeviceCreateOrConnectWithoutMemberTraitsInput | memberTraitDeviceCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitDeviceCreateManyMemberTraitsInputEnvelope + connect?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + } + + export type memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitSoftwareCreateWithoutMemberTraitsInput[] | memberTraitSoftwareUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitSoftwareCreateOrConnectWithoutMemberTraitsInput | memberTraitSoftwareCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitSoftwareCreateManyMemberTraitsInputEnvelope + connect?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + } + + export type memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitServiceProviderCreateWithoutMemberTraitsInput[] | memberTraitServiceProviderUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitServiceProviderCreateOrConnectWithoutMemberTraitsInput | memberTraitServiceProviderCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitServiceProviderCreateManyMemberTraitsInputEnvelope + connect?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + } + + export type memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitWorkCreateWithoutMemberTraitsInput[] | memberTraitWorkUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitWorkCreateOrConnectWithoutMemberTraitsInput | memberTraitWorkCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitWorkCreateManyMemberTraitsInputEnvelope + connect?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + } + + export type memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitEducationCreateWithoutMemberTraitsInput[] | memberTraitEducationUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitEducationCreateOrConnectWithoutMemberTraitsInput | memberTraitEducationCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitEducationCreateManyMemberTraitsInputEnvelope + connect?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + } + + export type memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitBasicInfoCreateWithoutMemberTraitsInput[] | memberTraitBasicInfoUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitBasicInfoCreateOrConnectWithoutMemberTraitsInput | memberTraitBasicInfoCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitBasicInfoCreateManyMemberTraitsInputEnvelope + connect?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + } + + export type memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitLanguageCreateWithoutMemberTraitsInput[] | memberTraitLanguageUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitLanguageCreateOrConnectWithoutMemberTraitsInput | memberTraitLanguageCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitLanguageCreateManyMemberTraitsInputEnvelope + connect?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + } + + export type memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitOnboardChecklistCreateWithoutMemberTraitsInput[] | memberTraitOnboardChecklistUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitOnboardChecklistCreateOrConnectWithoutMemberTraitsInput | memberTraitOnboardChecklistCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitOnboardChecklistCreateManyMemberTraitsInputEnvelope + connect?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + } + + export type memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitPersonalizationCreateWithoutMemberTraitsInput[] | memberTraitPersonalizationUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitPersonalizationCreateOrConnectWithoutMemberTraitsInput | memberTraitPersonalizationCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitPersonalizationCreateManyMemberTraitsInputEnvelope + connect?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + } + + export type memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput = { + create?: XOR | memberTraitCommunityCreateWithoutMemberTraitsInput[] | memberTraitCommunityUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitCommunityCreateOrConnectWithoutMemberTraitsInput | memberTraitCommunityCreateOrConnectWithoutMemberTraitsInput[] + createMany?: memberTraitCommunityCreateManyMemberTraitsInputEnvelope + connect?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + } + + export type memberTraitsUpdatesubscriptionsInput = { + set?: string[] + push?: string | string[] + } + + export type memberTraitsUpdatehobbyInput = { + set?: string[] + push?: string | string[] + } + + export type memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitDeviceCreateWithoutMemberTraitsInput[] | memberTraitDeviceUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitDeviceCreateOrConnectWithoutMemberTraitsInput | memberTraitDeviceCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitDeviceUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitDeviceUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitDeviceCreateManyMemberTraitsInputEnvelope + set?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + disconnect?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + delete?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + connect?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + update?: memberTraitDeviceUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitDeviceUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitDeviceUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitDeviceUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitDeviceScalarWhereInput | memberTraitDeviceScalarWhereInput[] + } + + export type memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitSoftwareCreateWithoutMemberTraitsInput[] | memberTraitSoftwareUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitSoftwareCreateOrConnectWithoutMemberTraitsInput | memberTraitSoftwareCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitSoftwareUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitSoftwareUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitSoftwareCreateManyMemberTraitsInputEnvelope + set?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + disconnect?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + delete?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + connect?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + update?: memberTraitSoftwareUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitSoftwareUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitSoftwareUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitSoftwareUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitSoftwareScalarWhereInput | memberTraitSoftwareScalarWhereInput[] + } + + export type memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitServiceProviderCreateWithoutMemberTraitsInput[] | memberTraitServiceProviderUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitServiceProviderCreateOrConnectWithoutMemberTraitsInput | memberTraitServiceProviderCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitServiceProviderUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitServiceProviderUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitServiceProviderCreateManyMemberTraitsInputEnvelope + set?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + disconnect?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + delete?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + connect?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + update?: memberTraitServiceProviderUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitServiceProviderUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitServiceProviderUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitServiceProviderUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitServiceProviderScalarWhereInput | memberTraitServiceProviderScalarWhereInput[] + } + + export type memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitWorkCreateWithoutMemberTraitsInput[] | memberTraitWorkUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitWorkCreateOrConnectWithoutMemberTraitsInput | memberTraitWorkCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitWorkUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitWorkUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitWorkCreateManyMemberTraitsInputEnvelope + set?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + disconnect?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + delete?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + connect?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + update?: memberTraitWorkUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitWorkUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitWorkUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitWorkUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitWorkScalarWhereInput | memberTraitWorkScalarWhereInput[] + } + + export type memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitEducationCreateWithoutMemberTraitsInput[] | memberTraitEducationUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitEducationCreateOrConnectWithoutMemberTraitsInput | memberTraitEducationCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitEducationUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitEducationUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitEducationCreateManyMemberTraitsInputEnvelope + set?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + disconnect?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + delete?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + connect?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + update?: memberTraitEducationUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitEducationUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitEducationUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitEducationUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitEducationScalarWhereInput | memberTraitEducationScalarWhereInput[] + } + + export type memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitBasicInfoCreateWithoutMemberTraitsInput[] | memberTraitBasicInfoUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitBasicInfoCreateOrConnectWithoutMemberTraitsInput | memberTraitBasicInfoCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitBasicInfoUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitBasicInfoUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitBasicInfoCreateManyMemberTraitsInputEnvelope + set?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + disconnect?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + delete?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + connect?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + update?: memberTraitBasicInfoUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitBasicInfoUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitBasicInfoUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitBasicInfoUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitBasicInfoScalarWhereInput | memberTraitBasicInfoScalarWhereInput[] + } + + export type memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitLanguageCreateWithoutMemberTraitsInput[] | memberTraitLanguageUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitLanguageCreateOrConnectWithoutMemberTraitsInput | memberTraitLanguageCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitLanguageUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitLanguageUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitLanguageCreateManyMemberTraitsInputEnvelope + set?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + disconnect?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + delete?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + connect?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + update?: memberTraitLanguageUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitLanguageUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitLanguageUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitLanguageUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitLanguageScalarWhereInput | memberTraitLanguageScalarWhereInput[] + } + + export type memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitOnboardChecklistCreateWithoutMemberTraitsInput[] | memberTraitOnboardChecklistUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitOnboardChecklistCreateOrConnectWithoutMemberTraitsInput | memberTraitOnboardChecklistCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitOnboardChecklistUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitOnboardChecklistUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitOnboardChecklistCreateManyMemberTraitsInputEnvelope + set?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + disconnect?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + delete?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + connect?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + update?: memberTraitOnboardChecklistUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitOnboardChecklistUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitOnboardChecklistUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitOnboardChecklistUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitOnboardChecklistScalarWhereInput | memberTraitOnboardChecklistScalarWhereInput[] + } + + export type memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitPersonalizationCreateWithoutMemberTraitsInput[] | memberTraitPersonalizationUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitPersonalizationCreateOrConnectWithoutMemberTraitsInput | memberTraitPersonalizationCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitPersonalizationUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitPersonalizationUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitPersonalizationCreateManyMemberTraitsInputEnvelope + set?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + disconnect?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + delete?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + connect?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + update?: memberTraitPersonalizationUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitPersonalizationUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitPersonalizationUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitPersonalizationUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitPersonalizationScalarWhereInput | memberTraitPersonalizationScalarWhereInput[] + } + + export type memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitCommunityCreateWithoutMemberTraitsInput[] | memberTraitCommunityUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitCommunityCreateOrConnectWithoutMemberTraitsInput | memberTraitCommunityCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitCommunityUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitCommunityUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitCommunityCreateManyMemberTraitsInputEnvelope + set?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + disconnect?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + delete?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + connect?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + update?: memberTraitCommunityUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitCommunityUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitCommunityUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitCommunityUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitCommunityScalarWhereInput | memberTraitCommunityScalarWhereInput[] + } + + export type memberUpdateOneRequiredWithoutMemberTraitsNestedInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutMemberTraitsInput + upsert?: memberUpsertWithoutMemberTraitsInput + connect?: memberWhereUniqueInput + update?: XOR, memberUncheckedUpdateWithoutMemberTraitsInput> + } + + export type memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitDeviceCreateWithoutMemberTraitsInput[] | memberTraitDeviceUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitDeviceCreateOrConnectWithoutMemberTraitsInput | memberTraitDeviceCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitDeviceUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitDeviceUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitDeviceCreateManyMemberTraitsInputEnvelope + set?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + disconnect?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + delete?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + connect?: memberTraitDeviceWhereUniqueInput | memberTraitDeviceWhereUniqueInput[] + update?: memberTraitDeviceUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitDeviceUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitDeviceUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitDeviceUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitDeviceScalarWhereInput | memberTraitDeviceScalarWhereInput[] + } + + export type memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitSoftwareCreateWithoutMemberTraitsInput[] | memberTraitSoftwareUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitSoftwareCreateOrConnectWithoutMemberTraitsInput | memberTraitSoftwareCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitSoftwareUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitSoftwareUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitSoftwareCreateManyMemberTraitsInputEnvelope + set?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + disconnect?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + delete?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + connect?: memberTraitSoftwareWhereUniqueInput | memberTraitSoftwareWhereUniqueInput[] + update?: memberTraitSoftwareUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitSoftwareUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitSoftwareUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitSoftwareUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitSoftwareScalarWhereInput | memberTraitSoftwareScalarWhereInput[] + } + + export type memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitServiceProviderCreateWithoutMemberTraitsInput[] | memberTraitServiceProviderUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitServiceProviderCreateOrConnectWithoutMemberTraitsInput | memberTraitServiceProviderCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitServiceProviderUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitServiceProviderUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitServiceProviderCreateManyMemberTraitsInputEnvelope + set?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + disconnect?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + delete?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + connect?: memberTraitServiceProviderWhereUniqueInput | memberTraitServiceProviderWhereUniqueInput[] + update?: memberTraitServiceProviderUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitServiceProviderUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitServiceProviderUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitServiceProviderUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitServiceProviderScalarWhereInput | memberTraitServiceProviderScalarWhereInput[] + } + + export type memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitWorkCreateWithoutMemberTraitsInput[] | memberTraitWorkUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitWorkCreateOrConnectWithoutMemberTraitsInput | memberTraitWorkCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitWorkUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitWorkUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitWorkCreateManyMemberTraitsInputEnvelope + set?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + disconnect?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + delete?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + connect?: memberTraitWorkWhereUniqueInput | memberTraitWorkWhereUniqueInput[] + update?: memberTraitWorkUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitWorkUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitWorkUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitWorkUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitWorkScalarWhereInput | memberTraitWorkScalarWhereInput[] + } + + export type memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitEducationCreateWithoutMemberTraitsInput[] | memberTraitEducationUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitEducationCreateOrConnectWithoutMemberTraitsInput | memberTraitEducationCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitEducationUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitEducationUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitEducationCreateManyMemberTraitsInputEnvelope + set?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + disconnect?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + delete?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + connect?: memberTraitEducationWhereUniqueInput | memberTraitEducationWhereUniqueInput[] + update?: memberTraitEducationUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitEducationUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitEducationUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitEducationUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitEducationScalarWhereInput | memberTraitEducationScalarWhereInput[] + } + + export type memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitBasicInfoCreateWithoutMemberTraitsInput[] | memberTraitBasicInfoUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitBasicInfoCreateOrConnectWithoutMemberTraitsInput | memberTraitBasicInfoCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitBasicInfoUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitBasicInfoUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitBasicInfoCreateManyMemberTraitsInputEnvelope + set?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + disconnect?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + delete?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + connect?: memberTraitBasicInfoWhereUniqueInput | memberTraitBasicInfoWhereUniqueInput[] + update?: memberTraitBasicInfoUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitBasicInfoUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitBasicInfoUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitBasicInfoUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitBasicInfoScalarWhereInput | memberTraitBasicInfoScalarWhereInput[] + } + + export type memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitLanguageCreateWithoutMemberTraitsInput[] | memberTraitLanguageUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitLanguageCreateOrConnectWithoutMemberTraitsInput | memberTraitLanguageCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitLanguageUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitLanguageUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitLanguageCreateManyMemberTraitsInputEnvelope + set?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + disconnect?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + delete?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + connect?: memberTraitLanguageWhereUniqueInput | memberTraitLanguageWhereUniqueInput[] + update?: memberTraitLanguageUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitLanguageUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitLanguageUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitLanguageUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitLanguageScalarWhereInput | memberTraitLanguageScalarWhereInput[] + } + + export type memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitOnboardChecklistCreateWithoutMemberTraitsInput[] | memberTraitOnboardChecklistUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitOnboardChecklistCreateOrConnectWithoutMemberTraitsInput | memberTraitOnboardChecklistCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitOnboardChecklistUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitOnboardChecklistUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitOnboardChecklistCreateManyMemberTraitsInputEnvelope + set?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + disconnect?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + delete?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + connect?: memberTraitOnboardChecklistWhereUniqueInput | memberTraitOnboardChecklistWhereUniqueInput[] + update?: memberTraitOnboardChecklistUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitOnboardChecklistUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitOnboardChecklistUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitOnboardChecklistUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitOnboardChecklistScalarWhereInput | memberTraitOnboardChecklistScalarWhereInput[] + } + + export type memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitPersonalizationCreateWithoutMemberTraitsInput[] | memberTraitPersonalizationUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitPersonalizationCreateOrConnectWithoutMemberTraitsInput | memberTraitPersonalizationCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitPersonalizationUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitPersonalizationUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitPersonalizationCreateManyMemberTraitsInputEnvelope + set?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + disconnect?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + delete?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + connect?: memberTraitPersonalizationWhereUniqueInput | memberTraitPersonalizationWhereUniqueInput[] + update?: memberTraitPersonalizationUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitPersonalizationUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitPersonalizationUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitPersonalizationUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitPersonalizationScalarWhereInput | memberTraitPersonalizationScalarWhereInput[] + } + + export type memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput = { + create?: XOR | memberTraitCommunityCreateWithoutMemberTraitsInput[] | memberTraitCommunityUncheckedCreateWithoutMemberTraitsInput[] + connectOrCreate?: memberTraitCommunityCreateOrConnectWithoutMemberTraitsInput | memberTraitCommunityCreateOrConnectWithoutMemberTraitsInput[] + upsert?: memberTraitCommunityUpsertWithWhereUniqueWithoutMemberTraitsInput | memberTraitCommunityUpsertWithWhereUniqueWithoutMemberTraitsInput[] + createMany?: memberTraitCommunityCreateManyMemberTraitsInputEnvelope + set?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + disconnect?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + delete?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + connect?: memberTraitCommunityWhereUniqueInput | memberTraitCommunityWhereUniqueInput[] + update?: memberTraitCommunityUpdateWithWhereUniqueWithoutMemberTraitsInput | memberTraitCommunityUpdateWithWhereUniqueWithoutMemberTraitsInput[] + updateMany?: memberTraitCommunityUpdateManyWithWhereWithoutMemberTraitsInput | memberTraitCommunityUpdateManyWithWhereWithoutMemberTraitsInput[] + deleteMany?: memberTraitCommunityScalarWhereInput | memberTraitCommunityScalarWhereInput[] + } + + export type memberTraitsCreateNestedOneWithoutDeviceInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutDeviceInput + connect?: memberTraitsWhereUniqueInput + } + + export type EnumDeviceTypeFieldUpdateOperationsInput = { + set?: $Enums.DeviceType + } + + export type memberTraitsUpdateOneRequiredWithoutDeviceNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutDeviceInput + upsert?: memberTraitsUpsertWithoutDeviceInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutDeviceInput> + } + + export type memberTraitsCreateNestedOneWithoutSoftwareInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutSoftwareInput + connect?: memberTraitsWhereUniqueInput + } + + export type EnumSoftwareTypeFieldUpdateOperationsInput = { + set?: $Enums.SoftwareType + } + + export type memberTraitsUpdateOneRequiredWithoutSoftwareNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutSoftwareInput + upsert?: memberTraitsUpsertWithoutSoftwareInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutSoftwareInput> + } + + export type memberTraitsCreateNestedOneWithoutServiceProviderInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutServiceProviderInput + connect?: memberTraitsWhereUniqueInput + } + + export type EnumServiceProviderTypeFieldUpdateOperationsInput = { + set?: $Enums.ServiceProviderType + } + + export type memberTraitsUpdateOneRequiredWithoutServiceProviderNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutServiceProviderInput + upsert?: memberTraitsUpsertWithoutServiceProviderInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutServiceProviderInput> + } + + export type memberTraitWorkCreateassociatedSkillsInput = { + set: string[] + } + + export type memberTraitsCreateNestedOneWithoutWorkInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutWorkInput + connect?: memberTraitsWhereUniqueInput + } + + export type NullableEnumWorkIndustryTypeFieldUpdateOperationsInput = { + set?: $Enums.WorkIndustryType | null + } + + export type memberTraitWorkUpdateassociatedSkillsInput = { + set?: string[] + push?: string | string[] + } + + export type memberTraitsUpdateOneRequiredWithoutWorkNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutWorkInput + upsert?: memberTraitsUpsertWithoutWorkInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutWorkInput> + } + + export type memberTraitsCreateNestedOneWithoutEducationInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutEducationInput + connect?: memberTraitsWhereUniqueInput + } + + export type memberTraitsUpdateOneRequiredWithoutEducationNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutEducationInput + upsert?: memberTraitsUpsertWithoutEducationInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutEducationInput> + } + + export type memberTraitsCreateNestedOneWithoutBasicInfoInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutBasicInfoInput + connect?: memberTraitsWhereUniqueInput + } + + export type memberTraitsUpdateOneRequiredWithoutBasicInfoNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutBasicInfoInput + upsert?: memberTraitsUpsertWithoutBasicInfoInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutBasicInfoInput> + } + + export type memberTraitsCreateNestedOneWithoutLanguageInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutLanguageInput + connect?: memberTraitsWhereUniqueInput + } + + export type memberTraitsUpdateOneRequiredWithoutLanguageNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutLanguageInput + upsert?: memberTraitsUpsertWithoutLanguageInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutLanguageInput> + } + + export type memberTraitsCreateNestedOneWithoutChecklistInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutChecklistInput + connect?: memberTraitsWhereUniqueInput + } + + export type memberTraitsUpdateOneRequiredWithoutChecklistNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutChecklistInput + upsert?: memberTraitsUpsertWithoutChecklistInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutChecklistInput> + } + + export type memberTraitsCreateNestedOneWithoutPersonalizationInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutPersonalizationInput + connect?: memberTraitsWhereUniqueInput + } + + export type memberTraitsUpdateOneRequiredWithoutPersonalizationNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutPersonalizationInput + upsert?: memberTraitsUpsertWithoutPersonalizationInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutPersonalizationInput> + } + + export type memberTraitsCreateNestedOneWithoutCommunityInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutCommunityInput + connect?: memberTraitsWhereUniqueInput + } + + export type memberTraitsUpdateOneRequiredWithoutCommunityNestedInput = { + create?: XOR + connectOrCreate?: memberTraitsCreateOrConnectWithoutCommunityInput + upsert?: memberTraitsUpsertWithoutCommunityInput + connect?: memberTraitsWhereUniqueInput + update?: XOR, memberTraitsUncheckedUpdateWithoutCommunityInput> + } + + export type NestedBigIntFilter<$PrismaModel = never> = { + equals?: bigint | number | BigIntFieldRefInput<$PrismaModel> + in?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> + notIn?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> + lt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + lte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + not?: NestedBigIntFilter<$PrismaModel> | bigint | number + } + + export type NestedStringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringFilter<$PrismaModel> | string + } + + export type NestedBoolNullableFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null + not?: NestedBoolNullableFilter<$PrismaModel> | boolean | null + } + + export type NestedFloatNullableFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableFilter<$PrismaModel> | number | null + } + + export type NestedBigIntNullableFilter<$PrismaModel = never> = { + equals?: bigint | number | BigIntFieldRefInput<$PrismaModel> | null + in?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> | null + notIn?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> | null + lt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + lte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + not?: NestedBigIntNullableFilter<$PrismaModel> | bigint | number | null + } + + export type NestedStringNullableFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringNullableFilter<$PrismaModel> | string | null + } + + export type NestedEnumMemberStatusNullableFilter<$PrismaModel = never> = { + equals?: $Enums.MemberStatus | EnumMemberStatusFieldRefInput<$PrismaModel> | null + in?: $Enums.MemberStatus[] | ListEnumMemberStatusFieldRefInput<$PrismaModel> | null + notIn?: $Enums.MemberStatus[] | ListEnumMemberStatusFieldRefInput<$PrismaModel> | null + not?: NestedEnumMemberStatusNullableFilter<$PrismaModel> | $Enums.MemberStatus | null + } + + export type NestedDateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + + export type NestedIntNullableFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableFilter<$PrismaModel> | number | null + } + + export type NestedDateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + + export type NestedBigIntWithAggregatesFilter<$PrismaModel = never> = { + equals?: bigint | number | BigIntFieldRefInput<$PrismaModel> + in?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> + notIn?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> + lt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + lte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + not?: NestedBigIntWithAggregatesFilter<$PrismaModel> | bigint | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedBigIntFilter<$PrismaModel> + _min?: NestedBigIntFilter<$PrismaModel> + _max?: NestedBigIntFilter<$PrismaModel> + } + + export type NestedIntFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntFilter<$PrismaModel> | number + } + + export type NestedFloatFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatFilter<$PrismaModel> | number + } + + export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + + export type NestedBoolNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null + not?: NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedBoolNullableFilter<$PrismaModel> + _max?: NestedBoolNullableFilter<$PrismaModel> + } + + export type NestedFloatNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedFloatNullableFilter<$PrismaModel> + _min?: NestedFloatNullableFilter<$PrismaModel> + _max?: NestedFloatNullableFilter<$PrismaModel> + } + + export type NestedBigIntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: bigint | number | BigIntFieldRefInput<$PrismaModel> | null + in?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> | null + notIn?: bigint[] | number[] | ListBigIntFieldRefInput<$PrismaModel> | null + lt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + lte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gt?: bigint | number | BigIntFieldRefInput<$PrismaModel> + gte?: bigint | number | BigIntFieldRefInput<$PrismaModel> + not?: NestedBigIntNullableWithAggregatesFilter<$PrismaModel> | bigint | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedBigIntNullableFilter<$PrismaModel> + _min?: NestedBigIntNullableFilter<$PrismaModel> + _max?: NestedBigIntNullableFilter<$PrismaModel> + } + + export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedStringNullableFilter<$PrismaModel> + _max?: NestedStringNullableFilter<$PrismaModel> + } + + export type NestedEnumMemberStatusNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.MemberStatus | EnumMemberStatusFieldRefInput<$PrismaModel> | null + in?: $Enums.MemberStatus[] | ListEnumMemberStatusFieldRefInput<$PrismaModel> | null + notIn?: $Enums.MemberStatus[] | ListEnumMemberStatusFieldRefInput<$PrismaModel> | null + not?: NestedEnumMemberStatusNullableWithAggregatesFilter<$PrismaModel> | $Enums.MemberStatus | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedEnumMemberStatusNullableFilter<$PrismaModel> + _max?: NestedEnumMemberStatusNullableFilter<$PrismaModel> + } + + export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> + } + + export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedIntNullableFilter<$PrismaModel> + _max?: NestedIntNullableFilter<$PrismaModel> + } + export type NestedJsonNullableFilter<$PrismaModel = never> = + | PatchUndefined< + Either>, Exclude>, 'path'>>, + Required> + > + | OptionalFlat>, 'path'>> + + export type NestedJsonNullableFilterBase<$PrismaModel = never> = { + equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + path?: string[] + mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | StringFieldRefInput<$PrismaModel> + string_starts_with?: string | StringFieldRefInput<$PrismaModel> + string_ends_with?: string | StringFieldRefInput<$PrismaModel> + array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + } + + export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + + export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedIntFilter<$PrismaModel> + _min?: NestedIntFilter<$PrismaModel> + _max?: NestedIntFilter<$PrismaModel> + } + + export type NestedEnumFinancialStatusFilter<$PrismaModel = never> = { + equals?: $Enums.FinancialStatus | EnumFinancialStatusFieldRefInput<$PrismaModel> + in?: $Enums.FinancialStatus[] | ListEnumFinancialStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.FinancialStatus[] | ListEnumFinancialStatusFieldRefInput<$PrismaModel> + not?: NestedEnumFinancialStatusFilter<$PrismaModel> | $Enums.FinancialStatus + } + + export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedFloatFilter<$PrismaModel> + _min?: NestedFloatFilter<$PrismaModel> + _max?: NestedFloatFilter<$PrismaModel> + } + + export type NestedEnumFinancialStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.FinancialStatus | EnumFinancialStatusFieldRefInput<$PrismaModel> + in?: $Enums.FinancialStatus[] | ListEnumFinancialStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.FinancialStatus[] | ListEnumFinancialStatusFieldRefInput<$PrismaModel> + not?: NestedEnumFinancialStatusWithAggregatesFilter<$PrismaModel> | $Enums.FinancialStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumFinancialStatusFilter<$PrismaModel> + _max?: NestedEnumFinancialStatusFilter<$PrismaModel> + } + + export type NestedBoolFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolFilter<$PrismaModel> | boolean + } + + export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedBoolFilter<$PrismaModel> + _max?: NestedBoolFilter<$PrismaModel> + } + + export type NestedEnumDeviceTypeFilter<$PrismaModel = never> = { + equals?: $Enums.DeviceType | EnumDeviceTypeFieldRefInput<$PrismaModel> + in?: $Enums.DeviceType[] | ListEnumDeviceTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.DeviceType[] | ListEnumDeviceTypeFieldRefInput<$PrismaModel> + not?: NestedEnumDeviceTypeFilter<$PrismaModel> | $Enums.DeviceType + } + + export type NestedEnumDeviceTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.DeviceType | EnumDeviceTypeFieldRefInput<$PrismaModel> + in?: $Enums.DeviceType[] | ListEnumDeviceTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.DeviceType[] | ListEnumDeviceTypeFieldRefInput<$PrismaModel> + not?: NestedEnumDeviceTypeWithAggregatesFilter<$PrismaModel> | $Enums.DeviceType + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumDeviceTypeFilter<$PrismaModel> + _max?: NestedEnumDeviceTypeFilter<$PrismaModel> + } + + export type NestedEnumSoftwareTypeFilter<$PrismaModel = never> = { + equals?: $Enums.SoftwareType | EnumSoftwareTypeFieldRefInput<$PrismaModel> + in?: $Enums.SoftwareType[] | ListEnumSoftwareTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.SoftwareType[] | ListEnumSoftwareTypeFieldRefInput<$PrismaModel> + not?: NestedEnumSoftwareTypeFilter<$PrismaModel> | $Enums.SoftwareType + } + + export type NestedEnumSoftwareTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.SoftwareType | EnumSoftwareTypeFieldRefInput<$PrismaModel> + in?: $Enums.SoftwareType[] | ListEnumSoftwareTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.SoftwareType[] | ListEnumSoftwareTypeFieldRefInput<$PrismaModel> + not?: NestedEnumSoftwareTypeWithAggregatesFilter<$PrismaModel> | $Enums.SoftwareType + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumSoftwareTypeFilter<$PrismaModel> + _max?: NestedEnumSoftwareTypeFilter<$PrismaModel> + } + + export type NestedEnumServiceProviderTypeFilter<$PrismaModel = never> = { + equals?: $Enums.ServiceProviderType | EnumServiceProviderTypeFieldRefInput<$PrismaModel> + in?: $Enums.ServiceProviderType[] | ListEnumServiceProviderTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.ServiceProviderType[] | ListEnumServiceProviderTypeFieldRefInput<$PrismaModel> + not?: NestedEnumServiceProviderTypeFilter<$PrismaModel> | $Enums.ServiceProviderType + } + + export type NestedEnumServiceProviderTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.ServiceProviderType | EnumServiceProviderTypeFieldRefInput<$PrismaModel> + in?: $Enums.ServiceProviderType[] | ListEnumServiceProviderTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.ServiceProviderType[] | ListEnumServiceProviderTypeFieldRefInput<$PrismaModel> + not?: NestedEnumServiceProviderTypeWithAggregatesFilter<$PrismaModel> | $Enums.ServiceProviderType + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumServiceProviderTypeFilter<$PrismaModel> + _max?: NestedEnumServiceProviderTypeFilter<$PrismaModel> + } + + export type NestedEnumWorkIndustryTypeNullableFilter<$PrismaModel = never> = { + equals?: $Enums.WorkIndustryType | EnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + in?: $Enums.WorkIndustryType[] | ListEnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + notIn?: $Enums.WorkIndustryType[] | ListEnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + not?: NestedEnumWorkIndustryTypeNullableFilter<$PrismaModel> | $Enums.WorkIndustryType | null + } + + export type NestedEnumWorkIndustryTypeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.WorkIndustryType | EnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + in?: $Enums.WorkIndustryType[] | ListEnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + notIn?: $Enums.WorkIndustryType[] | ListEnumWorkIndustryTypeFieldRefInput<$PrismaModel> | null + not?: NestedEnumWorkIndustryTypeNullableWithAggregatesFilter<$PrismaModel> | $Enums.WorkIndustryType | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedEnumWorkIndustryTypeNullableFilter<$PrismaModel> + _max?: NestedEnumWorkIndustryTypeNullableFilter<$PrismaModel> + } + + export type memberMaxRatingCreateWithoutMemberInput = { + id?: bigint | number + rating: number + track?: string | null + subTrack?: string | null + ratingColor: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberMaxRatingUncheckedCreateWithoutMemberInput = { + id?: bigint | number + rating: number + track?: string | null + subTrack?: string | null + ratingColor: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberMaxRatingCreateOrConnectWithoutMemberInput = { + where: memberMaxRatingWhereUniqueInput + create: XOR + } + + export type memberAddressCreateWithoutMemberInput = { + id?: bigint | number + streetAddr1?: string | null + streetAddr2?: string | null + city?: string | null + zip?: string | null + stateCode?: string | null + type: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberAddressUncheckedCreateWithoutMemberInput = { + id?: bigint | number + streetAddr1?: string | null + streetAddr2?: string | null + city?: string | null + zip?: string | null + stateCode?: string | null + type: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberAddressCreateOrConnectWithoutMemberInput = { + where: memberAddressWhereUniqueInput + create: XOR + } + + export type memberAddressCreateManyMemberInputEnvelope = { + data: memberAddressCreateManyMemberInput | memberAddressCreateManyMemberInput[] + skipDuplicates?: boolean + } + + export type memberPhoneCreateWithoutMemberInput = { + id?: string + type: string + number: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberPhoneUncheckedCreateWithoutMemberInput = { + id?: string + type: string + number: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberPhoneCreateOrConnectWithoutMemberInput = { + where: memberPhoneWhereUniqueInput + create: XOR + } + + export type memberPhoneCreateManyMemberInputEnvelope = { + data: memberPhoneCreateManyMemberInput | memberPhoneCreateManyMemberInput[] + skipDuplicates?: boolean + } + + export type memberFinancialCreateWithoutMemberInput = { + amount: number + status: $Enums.FinancialStatus + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberFinancialUncheckedCreateWithoutMemberInput = { + amount: number + status: $Enums.FinancialStatus + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberFinancialCreateOrConnectWithoutMemberInput = { + where: memberFinancialWhereUniqueInput + create: XOR + } + + export type memberStatsCreateWithoutMemberInput = { + id?: bigint | number + trackId?: string | null + typeId?: string | null + challenges?: number | null + wins?: number | null + mostRecentSubmission?: Date | string | null + mostRecentEventDate?: Date | string | null + rating?: number | null + avgRank?: number | null + avgNumSubmissions?: number | null + bestRank?: number | null + globalRank?: number | null + countryRank?: number | null + schoolRank?: number | null + volatility?: number | null + maxRating?: number | null + minRating?: number | null + topFiveFinishes?: number | null + topTenFinishes?: number | null + isPrivate?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsUncheckedCreateWithoutMemberInput = { + id?: bigint | number + trackId?: string | null + typeId?: string | null + challenges?: number | null + wins?: number | null + mostRecentSubmission?: Date | string | null + mostRecentEventDate?: Date | string | null + rating?: number | null + avgRank?: number | null + avgNumSubmissions?: number | null + bestRank?: number | null + globalRank?: number | null + countryRank?: number | null + schoolRank?: number | null + volatility?: number | null + maxRating?: number | null + minRating?: number | null + topFiveFinishes?: number | null + topTenFinishes?: number | null + isPrivate?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsCreateOrConnectWithoutMemberInput = { + where: memberStatsWhereUniqueInput + create: XOR + } + + export type memberStatsCreateManyMemberInputEnvelope = { + data: memberStatsCreateManyMemberInput | memberStatsCreateManyMemberInput[] + skipDuplicates?: boolean + } + + export type memberStatsHistoryCreateWithoutMemberInput = { + id?: bigint | number + trackId: string + typeId: string + challengeId: string + mostRecent?: boolean + oldRating?: number | null + newRating?: number | null + placement?: number | null + percentile?: number | null + oldVolatility?: number | null + newVolatility?: number | null + oldGlobalRank?: number | null + newGlobalRank?: number | null + oldCountryRank?: number | null + newCountryRank?: number | null + oldSchoolRank?: number | null + newSchoolRank?: number | null + eventDate: Date | string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsHistoryUncheckedCreateWithoutMemberInput = { + id?: bigint | number + trackId: string + typeId: string + challengeId: string + mostRecent?: boolean + oldRating?: number | null + newRating?: number | null + placement?: number | null + percentile?: number | null + oldVolatility?: number | null + newVolatility?: number | null + oldGlobalRank?: number | null + newGlobalRank?: number | null + oldCountryRank?: number | null + newCountryRank?: number | null + oldSchoolRank?: number | null + newSchoolRank?: number | null + eventDate: Date | string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsHistoryCreateOrConnectWithoutMemberInput = { + where: memberStatsHistoryWhereUniqueInput + create: XOR + } + + export type memberStatsHistoryCreateManyMemberInputEnvelope = { + data: memberStatsHistoryCreateManyMemberInput | memberStatsHistoryCreateManyMemberInput[] + skipDuplicates?: boolean + } + + export type memberChallengePointsCreateWithoutMemberInput = { + id?: bigint | number + challengeId: string + challengeName: string + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberChallengePointsUncheckedCreateWithoutMemberInput = { + id?: bigint | number + challengeId: string + challengeName: string + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberChallengePointsCreateOrConnectWithoutMemberInput = { + where: memberChallengePointsWhereUniqueInput + create: XOR + } + + export type memberChallengePointsCreateManyMemberInputEnvelope = { + data: memberChallengePointsCreateManyMemberInput | memberChallengePointsCreateManyMemberInput[] + skipDuplicates?: boolean + } + + export type memberTraitsCreateWithoutMemberInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutMemberInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutMemberInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberMaxRatingUpsertWithoutMemberInput = { + update: XOR + create: XOR + where?: memberMaxRatingWhereInput + } + + export type memberMaxRatingUpdateToOneWithWhereWithoutMemberInput = { + where?: memberMaxRatingWhereInput + data: XOR + } + + export type memberMaxRatingUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + rating?: IntFieldUpdateOperationsInput | number + track?: NullableStringFieldUpdateOperationsInput | string | null + subTrack?: NullableStringFieldUpdateOperationsInput | string | null + ratingColor?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberMaxRatingUncheckedUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + rating?: IntFieldUpdateOperationsInput | number + track?: NullableStringFieldUpdateOperationsInput | string | null + subTrack?: NullableStringFieldUpdateOperationsInput | string | null + ratingColor?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberAddressUpsertWithWhereUniqueWithoutMemberInput = { + where: memberAddressWhereUniqueInput + update: XOR + create: XOR + } + + export type memberAddressUpdateWithWhereUniqueWithoutMemberInput = { + where: memberAddressWhereUniqueInput + data: XOR + } + + export type memberAddressUpdateManyWithWhereWithoutMemberInput = { + where: memberAddressScalarWhereInput + data: XOR + } + + export type memberAddressScalarWhereInput = { + AND?: memberAddressScalarWhereInput | memberAddressScalarWhereInput[] + OR?: memberAddressScalarWhereInput[] + NOT?: memberAddressScalarWhereInput | memberAddressScalarWhereInput[] + id?: BigIntFilter<"memberAddress"> | bigint | number + userId?: BigIntFilter<"memberAddress"> | bigint | number + streetAddr1?: StringNullableFilter<"memberAddress"> | string | null + streetAddr2?: StringNullableFilter<"memberAddress"> | string | null + city?: StringNullableFilter<"memberAddress"> | string | null + zip?: StringNullableFilter<"memberAddress"> | string | null + stateCode?: StringNullableFilter<"memberAddress"> | string | null + type?: StringFilter<"memberAddress"> | string + createdAt?: DateTimeFilter<"memberAddress"> | Date | string + createdBy?: StringFilter<"memberAddress"> | string + updatedAt?: DateTimeNullableFilter<"memberAddress"> | Date | string | null + updatedBy?: StringNullableFilter<"memberAddress"> | string | null + } + + export type memberPhoneUpsertWithWhereUniqueWithoutMemberInput = { + where: memberPhoneWhereUniqueInput + update: XOR + create: XOR + } + + export type memberPhoneUpdateWithWhereUniqueWithoutMemberInput = { + where: memberPhoneWhereUniqueInput + data: XOR + } + + export type memberPhoneUpdateManyWithWhereWithoutMemberInput = { + where: memberPhoneScalarWhereInput + data: XOR + } + + export type memberPhoneScalarWhereInput = { + AND?: memberPhoneScalarWhereInput | memberPhoneScalarWhereInput[] + OR?: memberPhoneScalarWhereInput[] + NOT?: memberPhoneScalarWhereInput | memberPhoneScalarWhereInput[] + id?: StringFilter<"memberPhone"> | string + userId?: BigIntFilter<"memberPhone"> | bigint | number + type?: StringFilter<"memberPhone"> | string + number?: StringFilter<"memberPhone"> | string + createdAt?: DateTimeFilter<"memberPhone"> | Date | string + createdBy?: StringFilter<"memberPhone"> | string + updatedAt?: DateTimeNullableFilter<"memberPhone"> | Date | string | null + updatedBy?: StringNullableFilter<"memberPhone"> | string | null + } + + export type memberFinancialUpsertWithoutMemberInput = { + update: XOR + create: XOR + where?: memberFinancialWhereInput + } + + export type memberFinancialUpdateToOneWithWhereWithoutMemberInput = { + where?: memberFinancialWhereInput + data: XOR + } + + export type memberFinancialUpdateWithoutMemberInput = { + amount?: FloatFieldUpdateOperationsInput | number + status?: EnumFinancialStatusFieldUpdateOperationsInput | $Enums.FinancialStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberFinancialUncheckedUpdateWithoutMemberInput = { + amount?: FloatFieldUpdateOperationsInput | number + status?: EnumFinancialStatusFieldUpdateOperationsInput | $Enums.FinancialStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsUpsertWithWhereUniqueWithoutMemberInput = { + where: memberStatsWhereUniqueInput + update: XOR + create: XOR + } + + export type memberStatsUpdateWithWhereUniqueWithoutMemberInput = { + where: memberStatsWhereUniqueInput + data: XOR + } + + export type memberStatsUpdateManyWithWhereWithoutMemberInput = { + where: memberStatsScalarWhereInput + data: XOR + } + + export type memberStatsScalarWhereInput = { + AND?: memberStatsScalarWhereInput | memberStatsScalarWhereInput[] + OR?: memberStatsScalarWhereInput[] + NOT?: memberStatsScalarWhereInput | memberStatsScalarWhereInput[] + id?: BigIntFilter<"memberStats"> | bigint | number + userId?: BigIntFilter<"memberStats"> | bigint | number + trackId?: StringNullableFilter<"memberStats"> | string | null + typeId?: StringNullableFilter<"memberStats"> | string | null + challenges?: IntNullableFilter<"memberStats"> | number | null + wins?: IntNullableFilter<"memberStats"> | number | null + mostRecentSubmission?: DateTimeNullableFilter<"memberStats"> | Date | string | null + mostRecentEventDate?: DateTimeNullableFilter<"memberStats"> | Date | string | null + rating?: IntNullableFilter<"memberStats"> | number | null + avgRank?: FloatNullableFilter<"memberStats"> | number | null + avgNumSubmissions?: IntNullableFilter<"memberStats"> | number | null + bestRank?: IntNullableFilter<"memberStats"> | number | null + globalRank?: IntNullableFilter<"memberStats"> | number | null + countryRank?: IntNullableFilter<"memberStats"> | number | null + schoolRank?: IntNullableFilter<"memberStats"> | number | null + volatility?: IntNullableFilter<"memberStats"> | number | null + maxRating?: IntNullableFilter<"memberStats"> | number | null + minRating?: IntNullableFilter<"memberStats"> | number | null + topFiveFinishes?: IntNullableFilter<"memberStats"> | number | null + topTenFinishes?: IntNullableFilter<"memberStats"> | number | null + isPrivate?: BoolFilter<"memberStats"> | boolean + createdAt?: DateTimeFilter<"memberStats"> | Date | string + createdBy?: StringFilter<"memberStats"> | string + updatedAt?: DateTimeNullableFilter<"memberStats"> | Date | string | null + updatedBy?: StringNullableFilter<"memberStats"> | string | null + } + + export type memberStatsHistoryUpsertWithWhereUniqueWithoutMemberInput = { + where: memberStatsHistoryWhereUniqueInput + update: XOR + create: XOR + } + + export type memberStatsHistoryUpdateWithWhereUniqueWithoutMemberInput = { + where: memberStatsHistoryWhereUniqueInput + data: XOR + } + + export type memberStatsHistoryUpdateManyWithWhereWithoutMemberInput = { + where: memberStatsHistoryScalarWhereInput + data: XOR + } + + export type memberStatsHistoryScalarWhereInput = { + AND?: memberStatsHistoryScalarWhereInput | memberStatsHistoryScalarWhereInput[] + OR?: memberStatsHistoryScalarWhereInput[] + NOT?: memberStatsHistoryScalarWhereInput | memberStatsHistoryScalarWhereInput[] + id?: BigIntFilter<"memberStatsHistory"> | bigint | number + userId?: BigIntFilter<"memberStatsHistory"> | bigint | number + trackId?: StringFilter<"memberStatsHistory"> | string + typeId?: StringFilter<"memberStatsHistory"> | string + challengeId?: StringFilter<"memberStatsHistory"> | string + mostRecent?: BoolFilter<"memberStatsHistory"> | boolean + oldRating?: IntNullableFilter<"memberStatsHistory"> | number | null + newRating?: IntNullableFilter<"memberStatsHistory"> | number | null + placement?: IntNullableFilter<"memberStatsHistory"> | number | null + percentile?: FloatNullableFilter<"memberStatsHistory"> | number | null + oldVolatility?: IntNullableFilter<"memberStatsHistory"> | number | null + newVolatility?: IntNullableFilter<"memberStatsHistory"> | number | null + oldGlobalRank?: IntNullableFilter<"memberStatsHistory"> | number | null + newGlobalRank?: IntNullableFilter<"memberStatsHistory"> | number | null + oldCountryRank?: IntNullableFilter<"memberStatsHistory"> | number | null + newCountryRank?: IntNullableFilter<"memberStatsHistory"> | number | null + oldSchoolRank?: IntNullableFilter<"memberStatsHistory"> | number | null + newSchoolRank?: IntNullableFilter<"memberStatsHistory"> | number | null + eventDate?: DateTimeFilter<"memberStatsHistory"> | Date | string + createdAt?: DateTimeFilter<"memberStatsHistory"> | Date | string + createdBy?: StringFilter<"memberStatsHistory"> | string + updatedAt?: DateTimeNullableFilter<"memberStatsHistory"> | Date | string | null + updatedBy?: StringNullableFilter<"memberStatsHistory"> | string | null + } + + export type memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput = { + where: memberChallengePointsWhereUniqueInput + update: XOR + create: XOR + } + + export type memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput = { + where: memberChallengePointsWhereUniqueInput + data: XOR + } + + export type memberChallengePointsUpdateManyWithWhereWithoutMemberInput = { + where: memberChallengePointsScalarWhereInput + data: XOR + } + + export type memberChallengePointsScalarWhereInput = { + AND?: memberChallengePointsScalarWhereInput | memberChallengePointsScalarWhereInput[] + OR?: memberChallengePointsScalarWhereInput[] + NOT?: memberChallengePointsScalarWhereInput | memberChallengePointsScalarWhereInput[] + id?: BigIntFilter<"memberChallengePoints"> | bigint | number + challengeId?: StringFilter<"memberChallengePoints"> | string + challengeName?: StringFilter<"memberChallengePoints"> | string + userId?: BigIntFilter<"memberChallengePoints"> | bigint | number + placement?: IntFilter<"memberChallengePoints"> | number + points?: IntFilter<"memberChallengePoints"> | number + createdAt?: DateTimeFilter<"memberChallengePoints"> | Date | string + createdBy?: StringFilter<"memberChallengePoints"> | string + updatedAt?: DateTimeNullableFilter<"memberChallengePoints"> | Date | string | null + updatedBy?: StringNullableFilter<"memberChallengePoints"> | string | null + } + + export type memberTraitsUpsertWithoutMemberInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutMemberInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberCreateWithoutAddressesInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingCreateNestedOneWithoutMemberInput + phones?: memberPhoneCreateNestedManyWithoutMemberInput + financial?: memberFinancialCreateNestedOneWithoutMemberInput + memberStats?: memberStatsCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput + } + + export type memberUncheckedCreateWithoutAddressesInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput + phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput + financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput + memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput + } + + export type memberCreateOrConnectWithoutAddressesInput = { + where: memberWhereUniqueInput + create: XOR + } + + export type memberUpsertWithoutAddressesInput = { + update: XOR + create: XOR + where?: memberWhereInput + } + + export type memberUpdateToOneWithWhereWithoutAddressesInput = { + where?: memberWhereInput + data: XOR + } + + export type memberUpdateWithoutAddressesInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUpdateOneWithoutMemberNestedInput + phones?: memberPhoneUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput + } + + export type memberUncheckedUpdateWithoutAddressesInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput + phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput + } + + export type memberCreateWithoutPhonesInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingCreateNestedOneWithoutMemberInput + addresses?: memberAddressCreateNestedManyWithoutMemberInput + financial?: memberFinancialCreateNestedOneWithoutMemberInput + memberStats?: memberStatsCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput + } + + export type memberUncheckedCreateWithoutPhonesInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput + addresses?: memberAddressUncheckedCreateNestedManyWithoutMemberInput + financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput + memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput + } + + export type memberCreateOrConnectWithoutPhonesInput = { + where: memberWhereUniqueInput + create: XOR + } + + export type memberUpsertWithoutPhonesInput = { + update: XOR + create: XOR + where?: memberWhereInput + } + + export type memberUpdateToOneWithWhereWithoutPhonesInput = { + where?: memberWhereInput + data: XOR + } + + export type memberUpdateWithoutPhonesInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput + } + + export type memberUncheckedUpdateWithoutPhonesInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUncheckedUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput + } + + export type memberCreateWithoutMaxRatingInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + addresses?: memberAddressCreateNestedManyWithoutMemberInput + phones?: memberPhoneCreateNestedManyWithoutMemberInput + financial?: memberFinancialCreateNestedOneWithoutMemberInput + memberStats?: memberStatsCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput + } + + export type memberUncheckedCreateWithoutMaxRatingInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + addresses?: memberAddressUncheckedCreateNestedManyWithoutMemberInput + phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput + financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput + memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput + } + + export type memberCreateOrConnectWithoutMaxRatingInput = { + where: memberWhereUniqueInput + create: XOR + } + + export type memberUpsertWithoutMaxRatingInput = { + update: XOR + create: XOR + where?: memberWhereInput + } + + export type memberUpdateToOneWithWhereWithoutMaxRatingInput = { + where?: memberWhereInput + data: XOR + } + + export type memberUpdateWithoutMaxRatingInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + addresses?: memberAddressUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput + } + + export type memberUncheckedUpdateWithoutMaxRatingInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + addresses?: memberAddressUncheckedUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput + } + + export type memberCreateWithoutFinancialInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingCreateNestedOneWithoutMemberInput + addresses?: memberAddressCreateNestedManyWithoutMemberInput + phones?: memberPhoneCreateNestedManyWithoutMemberInput + memberStats?: memberStatsCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput + } + + export type memberUncheckedCreateWithoutFinancialInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput + addresses?: memberAddressUncheckedCreateNestedManyWithoutMemberInput + phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput + memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput + } + + export type memberCreateOrConnectWithoutFinancialInput = { + where: memberWhereUniqueInput + create: XOR + } + + export type memberUpsertWithoutFinancialInput = { + update: XOR + create: XOR + where?: memberWhereInput + } + + export type memberUpdateToOneWithWhereWithoutFinancialInput = { + where?: memberWhereInput + data: XOR + } + + export type memberUpdateWithoutFinancialInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUpdateManyWithoutMemberNestedInput + memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput + } + + export type memberUncheckedUpdateWithoutFinancialInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUncheckedUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput + memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput + } + + export type memberCreateWithoutMemberStatsHistoryInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingCreateNestedOneWithoutMemberInput + addresses?: memberAddressCreateNestedManyWithoutMemberInput + phones?: memberPhoneCreateNestedManyWithoutMemberInput + financial?: memberFinancialCreateNestedOneWithoutMemberInput + memberStats?: memberStatsCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput + } + + export type memberUncheckedCreateWithoutMemberStatsHistoryInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput + addresses?: memberAddressUncheckedCreateNestedManyWithoutMemberInput + phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput + financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput + memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput + } + + export type memberCreateOrConnectWithoutMemberStatsHistoryInput = { + where: memberWhereUniqueInput + create: XOR + } + + export type memberUpsertWithoutMemberStatsHistoryInput = { + update: XOR + create: XOR + where?: memberWhereInput + } + + export type memberUpdateToOneWithWhereWithoutMemberStatsHistoryInput = { + where?: memberWhereInput + data: XOR + } + + export type memberUpdateWithoutMemberStatsHistoryInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput + } + + export type memberUncheckedUpdateWithoutMemberStatsHistoryInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUncheckedUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput + } + + export type memberCreateWithoutMemberStatsInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingCreateNestedOneWithoutMemberInput + addresses?: memberAddressCreateNestedManyWithoutMemberInput + phones?: memberPhoneCreateNestedManyWithoutMemberInput + financial?: memberFinancialCreateNestedOneWithoutMemberInput + memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput + } + + export type memberUncheckedCreateWithoutMemberStatsInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput + addresses?: memberAddressUncheckedCreateNestedManyWithoutMemberInput + phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput + financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput + memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput + } + + export type memberCreateOrConnectWithoutMemberStatsInput = { + where: memberWhereUniqueInput + create: XOR + } + + export type memberUpsertWithoutMemberStatsInput = { + update: XOR + create: XOR + where?: memberWhereInput + } + + export type memberUpdateToOneWithWhereWithoutMemberStatsInput = { + where?: memberWhereInput + data: XOR + } + + export type memberUpdateWithoutMemberStatsInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUpdateOneWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput + } + + export type memberUncheckedUpdateWithoutMemberStatsInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUncheckedUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput + } + + export type memberCreateWithoutChallengePointsInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingCreateNestedOneWithoutMemberInput + addresses?: memberAddressCreateNestedManyWithoutMemberInput + phones?: memberPhoneCreateNestedManyWithoutMemberInput + financial?: memberFinancialCreateNestedOneWithoutMemberInput + memberStats?: memberStatsCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput + } + + export type memberUncheckedCreateWithoutChallengePointsInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput + addresses?: memberAddressUncheckedCreateNestedManyWithoutMemberInput + phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput + financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput + memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput + } + + export type memberCreateOrConnectWithoutChallengePointsInput = { + where: memberWhereUniqueInput + create: XOR + } + + export type memberUpsertWithoutChallengePointsInput = { + update: XOR + create: XOR + where?: memberWhereInput + } + + export type memberUpdateToOneWithWhereWithoutChallengePointsInput = { + where?: memberWhereInput + data: XOR + } + + export type memberUpdateWithoutChallengePointsInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput + } + + export type memberUncheckedUpdateWithoutChallengePointsInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUncheckedUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput + } + + export type memberTraitDeviceCreateWithoutMemberTraitsInput = { + id?: bigint | number + deviceType: $Enums.DeviceType + manufacturer: string + model: string + operatingSystem: string + osVersion?: string | null + osLanguage?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitDeviceUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + deviceType: $Enums.DeviceType + manufacturer: string + model: string + operatingSystem: string + osVersion?: string | null + osLanguage?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitDeviceCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitDeviceWhereUniqueInput + create: XOR + } + + export type memberTraitDeviceCreateManyMemberTraitsInputEnvelope = { + data: memberTraitDeviceCreateManyMemberTraitsInput | memberTraitDeviceCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberTraitSoftwareCreateWithoutMemberTraitsInput = { + id?: bigint | number + softwareType: $Enums.SoftwareType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitSoftwareUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + softwareType: $Enums.SoftwareType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitSoftwareCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitSoftwareWhereUniqueInput + create: XOR + } + + export type memberTraitSoftwareCreateManyMemberTraitsInputEnvelope = { + data: memberTraitSoftwareCreateManyMemberTraitsInput | memberTraitSoftwareCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberTraitServiceProviderCreateWithoutMemberTraitsInput = { + id?: bigint | number + type: $Enums.ServiceProviderType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitServiceProviderUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + type: $Enums.ServiceProviderType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitServiceProviderCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitServiceProviderWhereUniqueInput + create: XOR + } + + export type memberTraitServiceProviderCreateManyMemberTraitsInputEnvelope = { + data: memberTraitServiceProviderCreateManyMemberTraitsInput | memberTraitServiceProviderCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberTraitWorkCreateWithoutMemberTraitsInput = { + id?: bigint | number + industry?: $Enums.WorkIndustryType | null + otherIndustry?: string | null + companyName: string + position: string + startDate?: Date | string | null + endDate?: Date | string | null + working?: boolean | null + description?: string | null + associatedSkills?: memberTraitWorkCreateassociatedSkillsInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitWorkUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + industry?: $Enums.WorkIndustryType | null + otherIndustry?: string | null + companyName: string + position: string + startDate?: Date | string | null + endDate?: Date | string | null + working?: boolean | null + description?: string | null + associatedSkills?: memberTraitWorkCreateassociatedSkillsInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitWorkCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitWorkWhereUniqueInput + create: XOR + } + + export type memberTraitWorkCreateManyMemberTraitsInputEnvelope = { + data: memberTraitWorkCreateManyMemberTraitsInput | memberTraitWorkCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberTraitEducationCreateWithoutMemberTraitsInput = { + id?: bigint | number + collegeName: string + degree: string + endYear?: number | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitEducationUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + collegeName: string + degree: string + endYear?: number | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitEducationCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitEducationWhereUniqueInput + create: XOR + } + + export type memberTraitEducationCreateManyMemberTraitsInputEnvelope = { + data: memberTraitEducationCreateManyMemberTraitsInput | memberTraitEducationCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberTraitBasicInfoCreateWithoutMemberTraitsInput = { + id?: bigint | number + userId: bigint | number + country: string + primaryInterestInTopcoder: string + tshirtSize?: string | null + gender?: string | null + shortBio: string + birthDate?: Date | string | null + currentLocation?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitBasicInfoUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + userId: bigint | number + country: string + primaryInterestInTopcoder: string + tshirtSize?: string | null + gender?: string | null + shortBio: string + birthDate?: Date | string | null + currentLocation?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitBasicInfoCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitBasicInfoWhereUniqueInput + create: XOR + } + + export type memberTraitBasicInfoCreateManyMemberTraitsInputEnvelope = { + data: memberTraitBasicInfoCreateManyMemberTraitsInput | memberTraitBasicInfoCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberTraitLanguageCreateWithoutMemberTraitsInput = { + id?: bigint | number + language: string + spokenLevel?: string | null + writtenLevel?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitLanguageUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + language: string + spokenLevel?: string | null + writtenLevel?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitLanguageCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitLanguageWhereUniqueInput + create: XOR + } + + export type memberTraitLanguageCreateManyMemberTraitsInputEnvelope = { + data: memberTraitLanguageCreateManyMemberTraitsInput | memberTraitLanguageCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberTraitOnboardChecklistCreateWithoutMemberTraitsInput = { + id?: bigint | number + listItemType: string + date: Date | string + message: string + status: string + skip?: boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitOnboardChecklistUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + listItemType: string + date: Date | string + message: string + status: string + skip?: boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitOnboardChecklistCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitOnboardChecklistWhereUniqueInput + create: XOR + } + + export type memberTraitOnboardChecklistCreateManyMemberTraitsInputEnvelope = { + data: memberTraitOnboardChecklistCreateManyMemberTraitsInput | memberTraitOnboardChecklistCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberTraitPersonalizationCreateWithoutMemberTraitsInput = { + id?: bigint | number + key?: string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitPersonalizationUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + key?: string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitPersonalizationCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitPersonalizationWhereUniqueInput + create: XOR + } + + export type memberTraitPersonalizationCreateManyMemberTraitsInputEnvelope = { + data: memberTraitPersonalizationCreateManyMemberTraitsInput | memberTraitPersonalizationCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberTraitCommunityCreateWithoutMemberTraitsInput = { + id?: bigint | number + communityName: string + status: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitCommunityUncheckedCreateWithoutMemberTraitsInput = { + id?: bigint | number + communityName: string + status: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitCommunityCreateOrConnectWithoutMemberTraitsInput = { + where: memberTraitCommunityWhereUniqueInput + create: XOR + } + + export type memberTraitCommunityCreateManyMemberTraitsInputEnvelope = { + data: memberTraitCommunityCreateManyMemberTraitsInput | memberTraitCommunityCreateManyMemberTraitsInput[] + skipDuplicates?: boolean + } + + export type memberCreateWithoutMemberTraitsInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingCreateNestedOneWithoutMemberInput + addresses?: memberAddressCreateNestedManyWithoutMemberInput + phones?: memberPhoneCreateNestedManyWithoutMemberInput + financial?: memberFinancialCreateNestedOneWithoutMemberInput + memberStats?: memberStatsCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput + } + + export type memberUncheckedCreateWithoutMemberTraitsInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput + addresses?: memberAddressUncheckedCreateNestedManyWithoutMemberInput + phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput + financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput + memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput + } + + export type memberCreateOrConnectWithoutMemberTraitsInput = { + where: memberWhereUniqueInput + create: XOR + } + + export type memberTraitDeviceUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitDeviceWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitDeviceUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitDeviceWhereUniqueInput + data: XOR + } + + export type memberTraitDeviceUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitDeviceScalarWhereInput + data: XOR + } + + export type memberTraitDeviceScalarWhereInput = { + AND?: memberTraitDeviceScalarWhereInput | memberTraitDeviceScalarWhereInput[] + OR?: memberTraitDeviceScalarWhereInput[] + NOT?: memberTraitDeviceScalarWhereInput | memberTraitDeviceScalarWhereInput[] + id?: BigIntFilter<"memberTraitDevice"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitDevice"> | bigint | number + deviceType?: EnumDeviceTypeFilter<"memberTraitDevice"> | $Enums.DeviceType + manufacturer?: StringFilter<"memberTraitDevice"> | string + model?: StringFilter<"memberTraitDevice"> | string + operatingSystem?: StringFilter<"memberTraitDevice"> | string + osVersion?: StringNullableFilter<"memberTraitDevice"> | string | null + osLanguage?: StringNullableFilter<"memberTraitDevice"> | string | null + createdAt?: DateTimeFilter<"memberTraitDevice"> | Date | string + createdBy?: StringFilter<"memberTraitDevice"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitDevice"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitDevice"> | string | null + } + + export type memberTraitSoftwareUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitSoftwareWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitSoftwareUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitSoftwareWhereUniqueInput + data: XOR + } + + export type memberTraitSoftwareUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitSoftwareScalarWhereInput + data: XOR + } + + export type memberTraitSoftwareScalarWhereInput = { + AND?: memberTraitSoftwareScalarWhereInput | memberTraitSoftwareScalarWhereInput[] + OR?: memberTraitSoftwareScalarWhereInput[] + NOT?: memberTraitSoftwareScalarWhereInput | memberTraitSoftwareScalarWhereInput[] + id?: BigIntFilter<"memberTraitSoftware"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitSoftware"> | bigint | number + softwareType?: EnumSoftwareTypeFilter<"memberTraitSoftware"> | $Enums.SoftwareType + name?: StringFilter<"memberTraitSoftware"> | string + createdAt?: DateTimeFilter<"memberTraitSoftware"> | Date | string + createdBy?: StringFilter<"memberTraitSoftware"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitSoftware"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitSoftware"> | string | null + } + + export type memberTraitServiceProviderUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitServiceProviderWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitServiceProviderUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitServiceProviderWhereUniqueInput + data: XOR + } + + export type memberTraitServiceProviderUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitServiceProviderScalarWhereInput + data: XOR + } + + export type memberTraitServiceProviderScalarWhereInput = { + AND?: memberTraitServiceProviderScalarWhereInput | memberTraitServiceProviderScalarWhereInput[] + OR?: memberTraitServiceProviderScalarWhereInput[] + NOT?: memberTraitServiceProviderScalarWhereInput | memberTraitServiceProviderScalarWhereInput[] + id?: BigIntFilter<"memberTraitServiceProvider"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitServiceProvider"> | bigint | number + type?: EnumServiceProviderTypeFilter<"memberTraitServiceProvider"> | $Enums.ServiceProviderType + name?: StringFilter<"memberTraitServiceProvider"> | string + createdAt?: DateTimeFilter<"memberTraitServiceProvider"> | Date | string + createdBy?: StringFilter<"memberTraitServiceProvider"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitServiceProvider"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitServiceProvider"> | string | null + } + + export type memberTraitWorkUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitWorkWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitWorkUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitWorkWhereUniqueInput + data: XOR + } + + export type memberTraitWorkUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitWorkScalarWhereInput + data: XOR + } + + export type memberTraitWorkScalarWhereInput = { + AND?: memberTraitWorkScalarWhereInput | memberTraitWorkScalarWhereInput[] + OR?: memberTraitWorkScalarWhereInput[] + NOT?: memberTraitWorkScalarWhereInput | memberTraitWorkScalarWhereInput[] + id?: BigIntFilter<"memberTraitWork"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitWork"> | bigint | number + industry?: EnumWorkIndustryTypeNullableFilter<"memberTraitWork"> | $Enums.WorkIndustryType | null + otherIndustry?: StringNullableFilter<"memberTraitWork"> | string | null + companyName?: StringFilter<"memberTraitWork"> | string + position?: StringFilter<"memberTraitWork"> | string + startDate?: DateTimeNullableFilter<"memberTraitWork"> | Date | string | null + endDate?: DateTimeNullableFilter<"memberTraitWork"> | Date | string | null + working?: BoolNullableFilter<"memberTraitWork"> | boolean | null + description?: StringNullableFilter<"memberTraitWork"> | string | null + associatedSkills?: StringNullableListFilter<"memberTraitWork"> + createdAt?: DateTimeFilter<"memberTraitWork"> | Date | string + createdBy?: StringFilter<"memberTraitWork"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitWork"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitWork"> | string | null + } + + export type memberTraitEducationUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitEducationWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitEducationUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitEducationWhereUniqueInput + data: XOR + } + + export type memberTraitEducationUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitEducationScalarWhereInput + data: XOR + } + + export type memberTraitEducationScalarWhereInput = { + AND?: memberTraitEducationScalarWhereInput | memberTraitEducationScalarWhereInput[] + OR?: memberTraitEducationScalarWhereInput[] + NOT?: memberTraitEducationScalarWhereInput | memberTraitEducationScalarWhereInput[] + id?: BigIntFilter<"memberTraitEducation"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitEducation"> | bigint | number + collegeName?: StringFilter<"memberTraitEducation"> | string + degree?: StringFilter<"memberTraitEducation"> | string + endYear?: IntNullableFilter<"memberTraitEducation"> | number | null + createdAt?: DateTimeFilter<"memberTraitEducation"> | Date | string + createdBy?: StringFilter<"memberTraitEducation"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitEducation"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitEducation"> | string | null + } + + export type memberTraitBasicInfoUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitBasicInfoWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitBasicInfoUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitBasicInfoWhereUniqueInput + data: XOR + } + + export type memberTraitBasicInfoUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitBasicInfoScalarWhereInput + data: XOR + } + + export type memberTraitBasicInfoScalarWhereInput = { + AND?: memberTraitBasicInfoScalarWhereInput | memberTraitBasicInfoScalarWhereInput[] + OR?: memberTraitBasicInfoScalarWhereInput[] + NOT?: memberTraitBasicInfoScalarWhereInput | memberTraitBasicInfoScalarWhereInput[] + id?: BigIntFilter<"memberTraitBasicInfo"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitBasicInfo"> | bigint | number + userId?: BigIntFilter<"memberTraitBasicInfo"> | bigint | number + country?: StringFilter<"memberTraitBasicInfo"> | string + primaryInterestInTopcoder?: StringFilter<"memberTraitBasicInfo"> | string + tshirtSize?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + gender?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + shortBio?: StringFilter<"memberTraitBasicInfo"> | string + birthDate?: DateTimeNullableFilter<"memberTraitBasicInfo"> | Date | string | null + currentLocation?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + createdAt?: DateTimeFilter<"memberTraitBasicInfo"> | Date | string + createdBy?: StringFilter<"memberTraitBasicInfo"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitBasicInfo"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitBasicInfo"> | string | null + } + + export type memberTraitLanguageUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitLanguageWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitLanguageUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitLanguageWhereUniqueInput + data: XOR + } + + export type memberTraitLanguageUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitLanguageScalarWhereInput + data: XOR + } + + export type memberTraitLanguageScalarWhereInput = { + AND?: memberTraitLanguageScalarWhereInput | memberTraitLanguageScalarWhereInput[] + OR?: memberTraitLanguageScalarWhereInput[] + NOT?: memberTraitLanguageScalarWhereInput | memberTraitLanguageScalarWhereInput[] + id?: BigIntFilter<"memberTraitLanguage"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitLanguage"> | bigint | number + language?: StringFilter<"memberTraitLanguage"> | string + spokenLevel?: StringNullableFilter<"memberTraitLanguage"> | string | null + writtenLevel?: StringNullableFilter<"memberTraitLanguage"> | string | null + createdAt?: DateTimeFilter<"memberTraitLanguage"> | Date | string + createdBy?: StringFilter<"memberTraitLanguage"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitLanguage"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitLanguage"> | string | null + } + + export type memberTraitOnboardChecklistUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitOnboardChecklistWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitOnboardChecklistUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitOnboardChecklistWhereUniqueInput + data: XOR + } + + export type memberTraitOnboardChecklistUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitOnboardChecklistScalarWhereInput + data: XOR + } + + export type memberTraitOnboardChecklistScalarWhereInput = { + AND?: memberTraitOnboardChecklistScalarWhereInput | memberTraitOnboardChecklistScalarWhereInput[] + OR?: memberTraitOnboardChecklistScalarWhereInput[] + NOT?: memberTraitOnboardChecklistScalarWhereInput | memberTraitOnboardChecklistScalarWhereInput[] + id?: BigIntFilter<"memberTraitOnboardChecklist"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitOnboardChecklist"> | bigint | number + listItemType?: StringFilter<"memberTraitOnboardChecklist"> | string + date?: DateTimeFilter<"memberTraitOnboardChecklist"> | Date | string + message?: StringFilter<"memberTraitOnboardChecklist"> | string + status?: StringFilter<"memberTraitOnboardChecklist"> | string + skip?: BoolNullableFilter<"memberTraitOnboardChecklist"> | boolean | null + metadata?: JsonNullableFilter<"memberTraitOnboardChecklist"> + createdAt?: DateTimeFilter<"memberTraitOnboardChecklist"> | Date | string + createdBy?: StringFilter<"memberTraitOnboardChecklist"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitOnboardChecklist"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitOnboardChecklist"> | string | null + } + + export type memberTraitPersonalizationUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitPersonalizationWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitPersonalizationUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitPersonalizationWhereUniqueInput + data: XOR + } + + export type memberTraitPersonalizationUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitPersonalizationScalarWhereInput + data: XOR + } + + export type memberTraitPersonalizationScalarWhereInput = { + AND?: memberTraitPersonalizationScalarWhereInput | memberTraitPersonalizationScalarWhereInput[] + OR?: memberTraitPersonalizationScalarWhereInput[] + NOT?: memberTraitPersonalizationScalarWhereInput | memberTraitPersonalizationScalarWhereInput[] + id?: BigIntFilter<"memberTraitPersonalization"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitPersonalization"> | bigint | number + key?: StringNullableFilter<"memberTraitPersonalization"> | string | null + value?: JsonNullableFilter<"memberTraitPersonalization"> + private?: BoolFilter<"memberTraitPersonalization"> | boolean + createdAt?: DateTimeFilter<"memberTraitPersonalization"> | Date | string + createdBy?: StringFilter<"memberTraitPersonalization"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitPersonalization"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitPersonalization"> | string | null + } + + export type memberTraitCommunityUpsertWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitCommunityWhereUniqueInput + update: XOR + create: XOR + } + + export type memberTraitCommunityUpdateWithWhereUniqueWithoutMemberTraitsInput = { + where: memberTraitCommunityWhereUniqueInput + data: XOR + } + + export type memberTraitCommunityUpdateManyWithWhereWithoutMemberTraitsInput = { + where: memberTraitCommunityScalarWhereInput + data: XOR + } + + export type memberTraitCommunityScalarWhereInput = { + AND?: memberTraitCommunityScalarWhereInput | memberTraitCommunityScalarWhereInput[] + OR?: memberTraitCommunityScalarWhereInput[] + NOT?: memberTraitCommunityScalarWhereInput | memberTraitCommunityScalarWhereInput[] + id?: BigIntFilter<"memberTraitCommunity"> | bigint | number + memberTraitId?: BigIntFilter<"memberTraitCommunity"> | bigint | number + communityName?: StringFilter<"memberTraitCommunity"> | string + status?: BoolFilter<"memberTraitCommunity"> | boolean + createdAt?: DateTimeFilter<"memberTraitCommunity"> | Date | string + createdBy?: StringFilter<"memberTraitCommunity"> | string + updatedAt?: DateTimeNullableFilter<"memberTraitCommunity"> | Date | string | null + updatedBy?: StringNullableFilter<"memberTraitCommunity"> | string | null + } + + export type memberUpsertWithoutMemberTraitsInput = { + update: XOR + create: XOR + where?: memberWhereInput + } + + export type memberUpdateToOneWithWhereWithoutMemberTraitsInput = { + where?: memberWhereInput + data: XOR + } + + export type memberUpdateWithoutMemberTraitsInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput + } + + export type memberUncheckedUpdateWithoutMemberTraitsInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUncheckedUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput + } + + export type memberTraitsCreateWithoutDeviceInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutDeviceInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutDeviceInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutDeviceInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutDeviceInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutDeviceInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutDeviceInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateWithoutSoftwareInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutSoftwareInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutSoftwareInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutSoftwareInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutSoftwareInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutSoftwareInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutSoftwareInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateWithoutServiceProviderInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutServiceProviderInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutServiceProviderInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutServiceProviderInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutServiceProviderInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutServiceProviderInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutServiceProviderInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateWithoutWorkInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutWorkInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutWorkInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutWorkInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutWorkInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutWorkInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutWorkInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateWithoutEducationInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutEducationInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutEducationInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutEducationInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutEducationInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutEducationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutEducationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateWithoutBasicInfoInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutBasicInfoInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutBasicInfoInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutBasicInfoInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutBasicInfoInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutBasicInfoInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutBasicInfoInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateWithoutLanguageInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutLanguageInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutLanguageInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutLanguageInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutLanguageInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutLanguageInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutLanguageInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateWithoutChecklistInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutChecklistInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutChecklistInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutChecklistInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutChecklistInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutChecklistInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutChecklistInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateWithoutPersonalizationInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutPersonalizationInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + community?: memberTraitCommunityUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutPersonalizationInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutPersonalizationInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutPersonalizationInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutPersonalizationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutPersonalizationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + community?: memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberTraitsCreateWithoutCommunityInput = { + id?: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationCreateNestedManyWithoutMemberTraitsInput + member: memberCreateNestedOneWithoutMemberTraitsInput + } + + export type memberTraitsUncheckedCreateWithoutCommunityInput = { + id?: bigint | number + userId: bigint | number + subscriptions?: memberTraitsCreatesubscriptionsInput | string[] + hobby?: memberTraitsCreatehobbyInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + device?: memberTraitDeviceUncheckedCreateNestedManyWithoutMemberTraitsInput + software?: memberTraitSoftwareUncheckedCreateNestedManyWithoutMemberTraitsInput + serviceProvider?: memberTraitServiceProviderUncheckedCreateNestedManyWithoutMemberTraitsInput + work?: memberTraitWorkUncheckedCreateNestedManyWithoutMemberTraitsInput + education?: memberTraitEducationUncheckedCreateNestedManyWithoutMemberTraitsInput + basicInfo?: memberTraitBasicInfoUncheckedCreateNestedManyWithoutMemberTraitsInput + language?: memberTraitLanguageUncheckedCreateNestedManyWithoutMemberTraitsInput + checklist?: memberTraitOnboardChecklistUncheckedCreateNestedManyWithoutMemberTraitsInput + personalization?: memberTraitPersonalizationUncheckedCreateNestedManyWithoutMemberTraitsInput + } + + export type memberTraitsCreateOrConnectWithoutCommunityInput = { + where: memberTraitsWhereUniqueInput + create: XOR + } + + export type memberTraitsUpsertWithoutCommunityInput = { + update: XOR + create: XOR + where?: memberTraitsWhereInput + } + + export type memberTraitsUpdateToOneWithWhereWithoutCommunityInput = { + where?: memberTraitsWhereInput + data: XOR + } + + export type memberTraitsUpdateWithoutCommunityInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUpdateManyWithoutMemberTraitsNestedInput + member?: memberUpdateOneRequiredWithoutMemberTraitsNestedInput + } + + export type memberTraitsUncheckedUpdateWithoutCommunityInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + subscriptions?: memberTraitsUpdatesubscriptionsInput | string[] + hobby?: memberTraitsUpdatehobbyInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + device?: memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsNestedInput + software?: memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsNestedInput + serviceProvider?: memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsNestedInput + work?: memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsNestedInput + education?: memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsNestedInput + basicInfo?: memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsNestedInput + language?: memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsNestedInput + checklist?: memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsNestedInput + personalization?: memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsNestedInput + } + + export type memberAddressCreateManyMemberInput = { + id?: bigint | number + streetAddr1?: string | null + streetAddr2?: string | null + city?: string | null + zip?: string | null + stateCode?: string | null + type: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberPhoneCreateManyMemberInput = { + id?: string + type: string + number: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsCreateManyMemberInput = { + id?: bigint | number + trackId?: string | null + typeId?: string | null + challenges?: number | null + wins?: number | null + mostRecentSubmission?: Date | string | null + mostRecentEventDate?: Date | string | null + rating?: number | null + avgRank?: number | null + avgNumSubmissions?: number | null + bestRank?: number | null + globalRank?: number | null + countryRank?: number | null + schoolRank?: number | null + volatility?: number | null + maxRating?: number | null + minRating?: number | null + topFiveFinishes?: number | null + topTenFinishes?: number | null + isPrivate?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberStatsHistoryCreateManyMemberInput = { + id?: bigint | number + trackId: string + typeId: string + challengeId: string + mostRecent?: boolean + oldRating?: number | null + newRating?: number | null + placement?: number | null + percentile?: number | null + oldVolatility?: number | null + newVolatility?: number | null + oldGlobalRank?: number | null + newGlobalRank?: number | null + oldCountryRank?: number | null + newCountryRank?: number | null + oldSchoolRank?: number | null + newSchoolRank?: number | null + eventDate: Date | string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberChallengePointsCreateManyMemberInput = { + id?: bigint | number + challengeId: string + challengeName: string + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberAddressUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + streetAddr1?: NullableStringFieldUpdateOperationsInput | string | null + streetAddr2?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + zip?: NullableStringFieldUpdateOperationsInput | string | null + stateCode?: NullableStringFieldUpdateOperationsInput | string | null + type?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberAddressUncheckedUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + streetAddr1?: NullableStringFieldUpdateOperationsInput | string | null + streetAddr2?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + zip?: NullableStringFieldUpdateOperationsInput | string | null + stateCode?: NullableStringFieldUpdateOperationsInput | string | null + type?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberAddressUncheckedUpdateManyWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + streetAddr1?: NullableStringFieldUpdateOperationsInput | string | null + streetAddr2?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + zip?: NullableStringFieldUpdateOperationsInput | string | null + stateCode?: NullableStringFieldUpdateOperationsInput | string | null + type?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberPhoneUpdateWithoutMemberInput = { + id?: StringFieldUpdateOperationsInput | string + type?: StringFieldUpdateOperationsInput | string + number?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberPhoneUncheckedUpdateWithoutMemberInput = { + id?: StringFieldUpdateOperationsInput | string + type?: StringFieldUpdateOperationsInput | string + number?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberPhoneUncheckedUpdateManyWithoutMemberInput = { + id?: StringFieldUpdateOperationsInput | string + type?: StringFieldUpdateOperationsInput | string + number?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: NullableStringFieldUpdateOperationsInput | string | null + typeId?: NullableStringFieldUpdateOperationsInput | string | null + challenges?: NullableIntFieldUpdateOperationsInput | number | null + wins?: NullableIntFieldUpdateOperationsInput | number | null + mostRecentSubmission?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + mostRecentEventDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + rating?: NullableIntFieldUpdateOperationsInput | number | null + avgRank?: NullableFloatFieldUpdateOperationsInput | number | null + avgNumSubmissions?: NullableIntFieldUpdateOperationsInput | number | null + bestRank?: NullableIntFieldUpdateOperationsInput | number | null + globalRank?: NullableIntFieldUpdateOperationsInput | number | null + countryRank?: NullableIntFieldUpdateOperationsInput | number | null + schoolRank?: NullableIntFieldUpdateOperationsInput | number | null + volatility?: NullableIntFieldUpdateOperationsInput | number | null + maxRating?: NullableIntFieldUpdateOperationsInput | number | null + minRating?: NullableIntFieldUpdateOperationsInput | number | null + topFiveFinishes?: NullableIntFieldUpdateOperationsInput | number | null + topTenFinishes?: NullableIntFieldUpdateOperationsInput | number | null + isPrivate?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsUncheckedUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: NullableStringFieldUpdateOperationsInput | string | null + typeId?: NullableStringFieldUpdateOperationsInput | string | null + challenges?: NullableIntFieldUpdateOperationsInput | number | null + wins?: NullableIntFieldUpdateOperationsInput | number | null + mostRecentSubmission?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + mostRecentEventDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + rating?: NullableIntFieldUpdateOperationsInput | number | null + avgRank?: NullableFloatFieldUpdateOperationsInput | number | null + avgNumSubmissions?: NullableIntFieldUpdateOperationsInput | number | null + bestRank?: NullableIntFieldUpdateOperationsInput | number | null + globalRank?: NullableIntFieldUpdateOperationsInput | number | null + countryRank?: NullableIntFieldUpdateOperationsInput | number | null + schoolRank?: NullableIntFieldUpdateOperationsInput | number | null + volatility?: NullableIntFieldUpdateOperationsInput | number | null + maxRating?: NullableIntFieldUpdateOperationsInput | number | null + minRating?: NullableIntFieldUpdateOperationsInput | number | null + topFiveFinishes?: NullableIntFieldUpdateOperationsInput | number | null + topTenFinishes?: NullableIntFieldUpdateOperationsInput | number | null + isPrivate?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsUncheckedUpdateManyWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: NullableStringFieldUpdateOperationsInput | string | null + typeId?: NullableStringFieldUpdateOperationsInput | string | null + challenges?: NullableIntFieldUpdateOperationsInput | number | null + wins?: NullableIntFieldUpdateOperationsInput | number | null + mostRecentSubmission?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + mostRecentEventDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + rating?: NullableIntFieldUpdateOperationsInput | number | null + avgRank?: NullableFloatFieldUpdateOperationsInput | number | null + avgNumSubmissions?: NullableIntFieldUpdateOperationsInput | number | null + bestRank?: NullableIntFieldUpdateOperationsInput | number | null + globalRank?: NullableIntFieldUpdateOperationsInput | number | null + countryRank?: NullableIntFieldUpdateOperationsInput | number | null + schoolRank?: NullableIntFieldUpdateOperationsInput | number | null + volatility?: NullableIntFieldUpdateOperationsInput | number | null + maxRating?: NullableIntFieldUpdateOperationsInput | number | null + minRating?: NullableIntFieldUpdateOperationsInput | number | null + topFiveFinishes?: NullableIntFieldUpdateOperationsInput | number | null + topTenFinishes?: NullableIntFieldUpdateOperationsInput | number | null + isPrivate?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsHistoryUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: StringFieldUpdateOperationsInput | string + typeId?: StringFieldUpdateOperationsInput | string + challengeId?: StringFieldUpdateOperationsInput | string + mostRecent?: BoolFieldUpdateOperationsInput | boolean + oldRating?: NullableIntFieldUpdateOperationsInput | number | null + newRating?: NullableIntFieldUpdateOperationsInput | number | null + placement?: NullableIntFieldUpdateOperationsInput | number | null + percentile?: NullableFloatFieldUpdateOperationsInput | number | null + oldVolatility?: NullableIntFieldUpdateOperationsInput | number | null + newVolatility?: NullableIntFieldUpdateOperationsInput | number | null + oldGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + newGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + oldCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + newCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + oldSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + newSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + eventDate?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsHistoryUncheckedUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: StringFieldUpdateOperationsInput | string + typeId?: StringFieldUpdateOperationsInput | string + challengeId?: StringFieldUpdateOperationsInput | string + mostRecent?: BoolFieldUpdateOperationsInput | boolean + oldRating?: NullableIntFieldUpdateOperationsInput | number | null + newRating?: NullableIntFieldUpdateOperationsInput | number | null + placement?: NullableIntFieldUpdateOperationsInput | number | null + percentile?: NullableFloatFieldUpdateOperationsInput | number | null + oldVolatility?: NullableIntFieldUpdateOperationsInput | number | null + newVolatility?: NullableIntFieldUpdateOperationsInput | number | null + oldGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + newGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + oldCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + newCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + oldSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + newSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + eventDate?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberStatsHistoryUncheckedUpdateManyWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + trackId?: StringFieldUpdateOperationsInput | string + typeId?: StringFieldUpdateOperationsInput | string + challengeId?: StringFieldUpdateOperationsInput | string + mostRecent?: BoolFieldUpdateOperationsInput | boolean + oldRating?: NullableIntFieldUpdateOperationsInput | number | null + newRating?: NullableIntFieldUpdateOperationsInput | number | null + placement?: NullableIntFieldUpdateOperationsInput | number | null + percentile?: NullableFloatFieldUpdateOperationsInput | number | null + oldVolatility?: NullableIntFieldUpdateOperationsInput | number | null + newVolatility?: NullableIntFieldUpdateOperationsInput | number | null + oldGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + newGlobalRank?: NullableIntFieldUpdateOperationsInput | number | null + oldCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + newCountryRank?: NullableIntFieldUpdateOperationsInput | number | null + oldSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + newSchoolRank?: NullableIntFieldUpdateOperationsInput | number | null + eventDate?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsUncheckedUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsUncheckedUpdateManyWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitDeviceCreateManyMemberTraitsInput = { + id?: bigint | number + deviceType: $Enums.DeviceType + manufacturer: string + model: string + operatingSystem: string + osVersion?: string | null + osLanguage?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitSoftwareCreateManyMemberTraitsInput = { + id?: bigint | number + softwareType: $Enums.SoftwareType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitServiceProviderCreateManyMemberTraitsInput = { + id?: bigint | number + type: $Enums.ServiceProviderType + name: string + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitWorkCreateManyMemberTraitsInput = { + id?: bigint | number + industry?: $Enums.WorkIndustryType | null + otherIndustry?: string | null + companyName: string + position: string + startDate?: Date | string | null + endDate?: Date | string | null + working?: boolean | null + description?: string | null + associatedSkills?: memberTraitWorkCreateassociatedSkillsInput | string[] + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitEducationCreateManyMemberTraitsInput = { + id?: bigint | number + collegeName: string + degree: string + endYear?: number | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitBasicInfoCreateManyMemberTraitsInput = { + id?: bigint | number + userId: bigint | number + country: string + primaryInterestInTopcoder: string + tshirtSize?: string | null + gender?: string | null + shortBio: string + birthDate?: Date | string | null + currentLocation?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitLanguageCreateManyMemberTraitsInput = { + id?: bigint | number + language: string + spokenLevel?: string | null + writtenLevel?: string | null + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitOnboardChecklistCreateManyMemberTraitsInput = { + id?: bigint | number + listItemType: string + date: Date | string + message: string + status: string + skip?: boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitPersonalizationCreateManyMemberTraitsInput = { + id?: bigint | number + key?: string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitCommunityCreateManyMemberTraitsInput = { + id?: bigint | number + communityName: string + status: boolean + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberTraitDeviceUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + deviceType?: EnumDeviceTypeFieldUpdateOperationsInput | $Enums.DeviceType + manufacturer?: StringFieldUpdateOperationsInput | string + model?: StringFieldUpdateOperationsInput | string + operatingSystem?: StringFieldUpdateOperationsInput | string + osVersion?: NullableStringFieldUpdateOperationsInput | string | null + osLanguage?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitDeviceUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + deviceType?: EnumDeviceTypeFieldUpdateOperationsInput | $Enums.DeviceType + manufacturer?: StringFieldUpdateOperationsInput | string + model?: StringFieldUpdateOperationsInput | string + operatingSystem?: StringFieldUpdateOperationsInput | string + osVersion?: NullableStringFieldUpdateOperationsInput | string | null + osLanguage?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitDeviceUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + deviceType?: EnumDeviceTypeFieldUpdateOperationsInput | $Enums.DeviceType + manufacturer?: StringFieldUpdateOperationsInput | string + model?: StringFieldUpdateOperationsInput | string + operatingSystem?: StringFieldUpdateOperationsInput | string + osVersion?: NullableStringFieldUpdateOperationsInput | string | null + osLanguage?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitSoftwareUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + softwareType?: EnumSoftwareTypeFieldUpdateOperationsInput | $Enums.SoftwareType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitSoftwareUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + softwareType?: EnumSoftwareTypeFieldUpdateOperationsInput | $Enums.SoftwareType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitSoftwareUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + softwareType?: EnumSoftwareTypeFieldUpdateOperationsInput | $Enums.SoftwareType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitServiceProviderUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + type?: EnumServiceProviderTypeFieldUpdateOperationsInput | $Enums.ServiceProviderType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitServiceProviderUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + type?: EnumServiceProviderTypeFieldUpdateOperationsInput | $Enums.ServiceProviderType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitServiceProviderUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + type?: EnumServiceProviderTypeFieldUpdateOperationsInput | $Enums.ServiceProviderType + name?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitWorkUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + industry?: NullableEnumWorkIndustryTypeFieldUpdateOperationsInput | $Enums.WorkIndustryType | null + otherIndustry?: NullableStringFieldUpdateOperationsInput | string | null + companyName?: StringFieldUpdateOperationsInput | string + position?: StringFieldUpdateOperationsInput | string + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + working?: NullableBoolFieldUpdateOperationsInput | boolean | null + description?: NullableStringFieldUpdateOperationsInput | string | null + associatedSkills?: memberTraitWorkUpdateassociatedSkillsInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitWorkUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + industry?: NullableEnumWorkIndustryTypeFieldUpdateOperationsInput | $Enums.WorkIndustryType | null + otherIndustry?: NullableStringFieldUpdateOperationsInput | string | null + companyName?: StringFieldUpdateOperationsInput | string + position?: StringFieldUpdateOperationsInput | string + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + working?: NullableBoolFieldUpdateOperationsInput | boolean | null + description?: NullableStringFieldUpdateOperationsInput | string | null + associatedSkills?: memberTraitWorkUpdateassociatedSkillsInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitWorkUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + industry?: NullableEnumWorkIndustryTypeFieldUpdateOperationsInput | $Enums.WorkIndustryType | null + otherIndustry?: NullableStringFieldUpdateOperationsInput | string | null + companyName?: StringFieldUpdateOperationsInput | string + position?: StringFieldUpdateOperationsInput | string + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + working?: NullableBoolFieldUpdateOperationsInput | boolean | null + description?: NullableStringFieldUpdateOperationsInput | string | null + associatedSkills?: memberTraitWorkUpdateassociatedSkillsInput | string[] + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitEducationUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + collegeName?: StringFieldUpdateOperationsInput | string + degree?: StringFieldUpdateOperationsInput | string + endYear?: NullableIntFieldUpdateOperationsInput | number | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitEducationUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + collegeName?: StringFieldUpdateOperationsInput | string + degree?: StringFieldUpdateOperationsInput | string + endYear?: NullableIntFieldUpdateOperationsInput | number | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitEducationUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + collegeName?: StringFieldUpdateOperationsInput | string + degree?: StringFieldUpdateOperationsInput | string + endYear?: NullableIntFieldUpdateOperationsInput | number | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitBasicInfoUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + country?: StringFieldUpdateOperationsInput | string + primaryInterestInTopcoder?: StringFieldUpdateOperationsInput | string + tshirtSize?: NullableStringFieldUpdateOperationsInput | string | null + gender?: NullableStringFieldUpdateOperationsInput | string | null + shortBio?: StringFieldUpdateOperationsInput | string + birthDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + currentLocation?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitBasicInfoUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + country?: StringFieldUpdateOperationsInput | string + primaryInterestInTopcoder?: StringFieldUpdateOperationsInput | string + tshirtSize?: NullableStringFieldUpdateOperationsInput | string | null + gender?: NullableStringFieldUpdateOperationsInput | string | null + shortBio?: StringFieldUpdateOperationsInput | string + birthDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + currentLocation?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitBasicInfoUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + userId?: BigIntFieldUpdateOperationsInput | bigint | number + country?: StringFieldUpdateOperationsInput | string + primaryInterestInTopcoder?: StringFieldUpdateOperationsInput | string + tshirtSize?: NullableStringFieldUpdateOperationsInput | string | null + gender?: NullableStringFieldUpdateOperationsInput | string | null + shortBio?: StringFieldUpdateOperationsInput | string + birthDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + currentLocation?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitLanguageUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + language?: StringFieldUpdateOperationsInput | string + spokenLevel?: NullableStringFieldUpdateOperationsInput | string | null + writtenLevel?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitLanguageUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + language?: StringFieldUpdateOperationsInput | string + spokenLevel?: NullableStringFieldUpdateOperationsInput | string | null + writtenLevel?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitLanguageUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + language?: StringFieldUpdateOperationsInput | string + spokenLevel?: NullableStringFieldUpdateOperationsInput | string | null + writtenLevel?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitOnboardChecklistUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + listItemType?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + message?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + skip?: NullableBoolFieldUpdateOperationsInput | boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitOnboardChecklistUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + listItemType?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + message?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + skip?: NullableBoolFieldUpdateOperationsInput | boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitOnboardChecklistUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + listItemType?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + message?: StringFieldUpdateOperationsInput | string + status?: StringFieldUpdateOperationsInput | string + skip?: NullableBoolFieldUpdateOperationsInput | boolean | null + metadata?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitPersonalizationUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + key?: NullableStringFieldUpdateOperationsInput | string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitPersonalizationUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + key?: NullableStringFieldUpdateOperationsInput | string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitPersonalizationUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + key?: NullableStringFieldUpdateOperationsInput | string | null + value?: NullableJsonNullValueInput | InputJsonValue + private?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitCommunityUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + communityName?: StringFieldUpdateOperationsInput | string + status?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitCommunityUncheckedUpdateWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + communityName?: StringFieldUpdateOperationsInput | string + status?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberTraitCommunityUncheckedUpdateManyWithoutMemberTraitsInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + communityName?: StringFieldUpdateOperationsInput | string + status?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + + + /** + * Batch Payload for updateMany & deleteMany & createMany + */ + + export type BatchPayload = { + count: number + } + + /** + * DMMF + */ + export const dmmf: runtime.BaseDMMF +} \ No newline at end of file diff --git a/packages/member-prisma-client/index.js b/packages/member-prisma-client/index.js new file mode 100644 index 0000000..a72ac60 --- /dev/null +++ b/packages/member-prisma-client/index.js @@ -0,0 +1,593 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + PrismaClientKnownRequestError, + PrismaClientUnknownRequestError, + PrismaClientRustPanicError, + PrismaClientInitializationError, + PrismaClientValidationError, + getPrismaClient, + sqltag, + empty, + join, + raw, + skip, + Decimal, + Debug, + objectEnumValues, + makeStrictEnum, + Extensions, + warnOnce, + defineDmmfProperty, + Public, + getRuntime, + createParam, +} = require('./runtime/library.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.19.2 + * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + */ +Prisma.prismaVersion = { + client: "6.19.2", + engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" +} + +Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; +Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError +Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError +Prisma.PrismaClientInitializationError = PrismaClientInitializationError +Prisma.PrismaClientValidationError = PrismaClientValidationError +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = sqltag +Prisma.empty = empty +Prisma.join = join +Prisma.raw = raw +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = Extensions.getExtensionContext +Prisma.defineExtension = Extensions.defineExtension + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + + + const path = require('path') + +/** + * Enums + */ +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.MemberScalarFieldEnum = { + userId: 'userId', + handle: 'handle', + handleLower: 'handleLower', + email: 'email', + verified: 'verified', + skillScore: 'skillScore', + memberRatingId: 'memberRatingId', + firstName: 'firstName', + lastName: 'lastName', + description: 'description', + otherLangName: 'otherLangName', + status: 'status', + newEmail: 'newEmail', + emailVerifyToken: 'emailVerifyToken', + emailVerifyTokenDate: 'emailVerifyTokenDate', + newEmailVerifyToken: 'newEmailVerifyToken', + newEmailVerifyTokenDate: 'newEmailVerifyTokenDate', + country: 'country', + homeCountryCode: 'homeCountryCode', + competitionCountryCode: 'competitionCountryCode', + photoURL: 'photoURL', + tracks: 'tracks', + loginCount: 'loginCount', + lastLoginDate: 'lastLoginDate', + availableForGigs: 'availableForGigs', + availableForGigsLastUpdateDate: 'availableForGigsLastUpdateDate', + lastProfileConfirmationDate: 'lastProfileConfirmationDate', + skillScoreDeduction: 'skillScoreDeduction', + namesAndHandleAppearance: 'namesAndHandleAppearance', + aggregatedSkills: 'aggregatedSkills', + enteredSkills: 'enteredSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberAddressScalarFieldEnum = { + id: 'id', + userId: 'userId', + streetAddr1: 'streetAddr1', + streetAddr2: 'streetAddr2', + city: 'city', + zip: 'zip', + stateCode: 'stateCode', + type: 'type', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberPhoneScalarFieldEnum = { + id: 'id', + userId: 'userId', + type: 'type', + number: 'number', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberMaxRatingScalarFieldEnum = { + id: 'id', + userId: 'userId', + rating: 'rating', + track: 'track', + subTrack: 'subTrack', + ratingColor: 'ratingColor', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberFinancialScalarFieldEnum = { + userId: 'userId', + amount: 'amount', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberStatsHistoryScalarFieldEnum = { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challengeId: 'challengeId', + mostRecent: 'mostRecent', + oldRating: 'oldRating', + newRating: 'newRating', + placement: 'placement', + percentile: 'percentile', + oldVolatility: 'oldVolatility', + newVolatility: 'newVolatility', + oldGlobalRank: 'oldGlobalRank', + newGlobalRank: 'newGlobalRank', + oldCountryRank: 'oldCountryRank', + newCountryRank: 'newCountryRank', + oldSchoolRank: 'oldSchoolRank', + newSchoolRank: 'newSchoolRank', + eventDate: 'eventDate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberStatsScalarFieldEnum = { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challenges: 'challenges', + wins: 'wins', + mostRecentSubmission: 'mostRecentSubmission', + mostRecentEventDate: 'mostRecentEventDate', + rating: 'rating', + avgRank: 'avgRank', + avgNumSubmissions: 'avgNumSubmissions', + bestRank: 'bestRank', + globalRank: 'globalRank', + countryRank: 'countryRank', + schoolRank: 'schoolRank', + volatility: 'volatility', + maxRating: 'maxRating', + minRating: 'minRating', + topFiveFinishes: 'topFiveFinishes', + topTenFinishes: 'topTenFinishes', + isPrivate: 'isPrivate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberChallengePointsScalarFieldEnum = { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitsScalarFieldEnum = { + id: 'id', + userId: 'userId', + subscriptions: 'subscriptions', + hobby: 'hobby', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitDeviceScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + deviceType: 'deviceType', + manufacturer: 'manufacturer', + model: 'model', + operatingSystem: 'operatingSystem', + osVersion: 'osVersion', + osLanguage: 'osLanguage', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitSoftwareScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + softwareType: 'softwareType', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitServiceProviderScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + type: 'type', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitWorkScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + industry: 'industry', + otherIndustry: 'otherIndustry', + companyName: 'companyName', + position: 'position', + startDate: 'startDate', + endDate: 'endDate', + working: 'working', + description: 'description', + associatedSkills: 'associatedSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitEducationScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + collegeName: 'collegeName', + degree: 'degree', + endYear: 'endYear', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitBasicInfoScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + userId: 'userId', + country: 'country', + primaryInterestInTopcoder: 'primaryInterestInTopcoder', + tshirtSize: 'tshirtSize', + gender: 'gender', + shortBio: 'shortBio', + birthDate: 'birthDate', + currentLocation: 'currentLocation', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitLanguageScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + language: 'language', + spokenLevel: 'spokenLevel', + writtenLevel: 'writtenLevel', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitOnboardChecklistScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + listItemType: 'listItemType', + date: 'date', + message: 'message', + status: 'status', + skip: 'skip', + metadata: 'metadata', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitPersonalizationScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + key: 'key', + value: 'value', + private: 'private', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitCommunityScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + communityName: 'communityName', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.NullableJsonNullValueInput = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.JsonNullValueFilter = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull, + AnyNull: Prisma.AnyNull +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; +exports.MemberStatus = exports.$Enums.MemberStatus = { + UNVERIFIED: 'UNVERIFIED', + ACTIVE: 'ACTIVE', + INACTIVE_USER_REQUEST: 'INACTIVE_USER_REQUEST', + INACTIVE_DUPLICATE_ACCOUNT: 'INACTIVE_DUPLICATE_ACCOUNT', + INACTIVE_IRREGULAR_ACCOUNT: 'INACTIVE_IRREGULAR_ACCOUNT', + UNKNOWN: 'UNKNOWN' +}; + +exports.FinancialStatus = exports.$Enums.FinancialStatus = { + PENDING: 'PENDING', + PAID: 'PAID', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' +}; + +exports.DeviceType = exports.$Enums.DeviceType = { + Console: 'Console', + Desktop: 'Desktop', + Laptop: 'Laptop', + Smartphone: 'Smartphone', + Tablet: 'Tablet', + Wearable: 'Wearable', + Other: 'Other' +}; + +exports.SoftwareType = exports.$Enums.SoftwareType = { + DeveloperTools: 'DeveloperTools', + Browser: 'Browser', + Productivity: 'Productivity', + GraphAndDesign: 'GraphAndDesign', + Utilities: 'Utilities' +}; + +exports.ServiceProviderType = exports.$Enums.ServiceProviderType = { + InternetServiceProvider: 'InternetServiceProvider', + MobileCarrier: 'MobileCarrier', + Television: 'Television', + FinancialInstitution: 'FinancialInstitution', + Other: 'Other' +}; + +exports.WorkIndustryType = exports.$Enums.WorkIndustryType = { + Banking: 'Banking', + ConsumerGoods: 'ConsumerGoods', + Energy: 'Energy', + Entertainment: 'Entertainment', + HealthCare: 'HealthCare', + Pharma: 'Pharma', + PublicSector: 'PublicSector', + TechAndTechnologyService: 'TechAndTechnologyService', + Telecoms: 'Telecoms', + TravelAndHospitality: 'TravelAndHospitality', + Other: 'Other' +}; + +exports.Prisma.ModelName = { + member: 'member', + memberAddress: 'memberAddress', + memberPhone: 'memberPhone', + memberMaxRating: 'memberMaxRating', + memberFinancial: 'memberFinancial', + memberStatsHistory: 'memberStatsHistory', + memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', + memberTraits: 'memberTraits', + memberTraitDevice: 'memberTraitDevice', + memberTraitSoftware: 'memberTraitSoftware', + memberTraitServiceProvider: 'memberTraitServiceProvider', + memberTraitWork: 'memberTraitWork', + memberTraitEducation: 'memberTraitEducation', + memberTraitBasicInfo: 'memberTraitBasicInfo', + memberTraitLanguage: 'memberTraitLanguage', + memberTraitOnboardChecklist: 'memberTraitOnboardChecklist', + memberTraitPersonalization: 'memberTraitPersonalization', + memberTraitCommunity: 'memberTraitCommunity' +}; +/** + * Create the Client + */ +const config = { + "generator": { + "name": "externalClient", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "/home/jmgasper/Documents/Git/v6/member-api-v6/packages/member-prisma-client", + "fromEnvVar": null + }, + "config": { + "engineType": "library" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "debian-openssl-3.0.x", + "native": true + }, + { + "fromEnvVar": null, + "value": "debian-openssl-3.0.x" + } + ], + "previewFeatures": [], + "sourceFilePath": "/home/jmgasper/Documents/Git/v6/member-api-v6/prisma/schema.prisma", + "isCustomOutput": true + }, + "relativeEnvPaths": { + "rootEnvPath": null + }, + "relativePath": "../../prisma", + "clientVersion": "6.19.2", + "engineVersion": "c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "postinstall": false, + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n // Generate a package-scoped client to avoid monorepo conflicts\n output = \"./generated/client\"\n}\n\ngenerator externalClient {\n provider = \"prisma-client-js\"\n output = \"../packages/member-prisma-client\"\n binaryTargets = [\"native\", \"debian-openssl-3.0.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n schemas = [\"members\"]\n}\n\nenum MemberStatus {\n UNVERIFIED\n ACTIVE\n INACTIVE_USER_REQUEST\n INACTIVE_DUPLICATE_ACCOUNT\n INACTIVE_IRREGULAR_ACCOUNT\n UNKNOWN\n\n @@schema(\"members\")\n}\n\nenum FinancialStatus {\n PENDING\n PAID\n FAILED\n CANCELLED\n\n @@schema(\"members\")\n}\n\nmodel member {\n userId BigInt @id\n handle String\n handleLower String @unique\n email String @unique\n verified Boolean?\n skillScore Float?\n memberRatingId BigInt?\n maxRating memberMaxRating?\n firstName String?\n lastName String?\n description String?\n otherLangName String?\n status MemberStatus?\n newEmail String?\n emailVerifyToken String?\n emailVerifyTokenDate DateTime?\n newEmailVerifyToken String?\n newEmailVerifyTokenDate DateTime?\n addresses memberAddress[]\n phones memberPhone[]\n\n country String?\n homeCountryCode String?\n competitionCountryCode String?\n photoURL String?\n tracks String[]\n loginCount Int?\n lastLoginDate DateTime?\n availableForGigs Boolean?\n availableForGigsLastUpdateDate DateTime?\n lastProfileConfirmationDate DateTime?\n skillScoreDeduction Float?\n namesAndHandleAppearance String?\n aggregatedSkills Json?\n enteredSkills Json?\n\n financial memberFinancial?\n memberStats memberStats[]\n memberStatsHistory memberStatsHistory[]\n challengePoints memberChallengePoints[]\n memberTraits memberTraits?\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([handleLower])\n @@index([email])\n @@index([status, handleLower])\n @@index([lastLoginDate])\n @@index([availableForGigs])\n @@index([status, availableForGigs])\n @@index([homeCountryCode], map: \"idx_member_home_country_code\")\n @@index([competitionCountryCode], map: \"idx_member_competition_country_code\")\n @@schema(\"members\")\n}\n\nmodel memberAddress {\n id BigInt @id @default(autoincrement())\n userId BigInt\n streetAddr1 String?\n streetAddr2 String?\n city String?\n zip String?\n stateCode String?\n type String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, type])\n @@index([userId, type, id(sort: Desc)], map: \"idx_member_address_user_type\")\n @@schema(\"members\")\n}\n\nmodel memberPhone {\n id String @id @default(uuid())\n userId BigInt\n type String\n number String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, number])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberMaxRating {\n id BigInt @id @default(autoincrement())\n userId BigInt\n rating Int\n track String?\n subTrack String?\n ratingColor String\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberFinancial {\n userId BigInt @id\n amount Float\n status FinancialStatus\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@schema(\"members\")\n}\n\nmodel memberStatsHistory {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String\n typeId String\n challengeId String\n mostRecent Boolean @default(false)\n oldRating Int?\n newRating Int?\n placement Int?\n percentile Float?\n oldVolatility Int?\n newVolatility Int?\n oldGlobalRank Int?\n newGlobalRank Int?\n oldCountryRank Int?\n newCountryRank Int?\n oldSchoolRank Int?\n newSchoolRank Int?\n eventDate DateTime\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, trackId, typeId])\n @@index([userId, trackId, typeId, mostRecent])\n @@index([challengeId])\n @@index([eventDate])\n @@schema(\"members\")\n}\n\nmodel memberStats {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String?\n typeId String?\n challenges Int?\n wins Int?\n mostRecentSubmission DateTime?\n mostRecentEventDate DateTime?\n rating Int?\n avgRank Float?\n avgNumSubmissions Int?\n bestRank Int?\n globalRank Int?\n countryRank Int?\n schoolRank Int?\n volatility Int?\n maxRating Int?\n minRating Int?\n topFiveFinishes Int?\n topTenFinishes Int?\n isPrivate Boolean @default(false)\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, trackId, typeId])\n @@index([userId])\n @@index([trackId])\n @@index([typeId])\n @@index([trackId, typeId, rating])\n @@index([userId, trackId, typeId])\n @@index([globalRank])\n @@index([countryRank])\n @@index([schoolRank])\n @@schema(\"members\")\n}\n\nmodel memberChallengePoints {\n id BigInt @id @default(autoincrement())\n challengeId String\n challengeName String\n userId BigInt\n placement Int\n points Int\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([challengeId, userId])\n @@index([userId])\n @@index([challengeId])\n @@schema(\"members\")\n}\n\nmodel memberTraits {\n id BigInt @id @default(autoincrement())\n userId BigInt\n\n device memberTraitDevice[]\n software memberTraitSoftware[]\n serviceProvider memberTraitServiceProvider[]\n subscriptions String[]\n hobby String[]\n work memberTraitWork[]\n education memberTraitEducation[]\n basicInfo memberTraitBasicInfo[]\n language memberTraitLanguage[]\n checklist memberTraitOnboardChecklist[]\n personalization memberTraitPersonalization[]\n community memberTraitCommunity[]\n\n member member @relation(fields: [userId], references: [userId])\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nenum DeviceType {\n Console\n Desktop\n Laptop\n Smartphone\n Tablet\n Wearable\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitDevice {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n deviceType DeviceType\n manufacturer String\n model String\n operatingSystem String\n osVersion String?\n osLanguage String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum SoftwareType {\n DeveloperTools\n Browser\n Productivity\n GraphAndDesign\n Utilities\n\n @@schema(\"members\")\n}\n\nmodel memberTraitSoftware {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n softwareType SoftwareType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum ServiceProviderType {\n InternetServiceProvider\n MobileCarrier\n Television\n FinancialInstitution\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitServiceProvider {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n type ServiceProviderType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum WorkIndustryType {\n Banking\n ConsumerGoods\n Energy\n Entertainment\n HealthCare\n Pharma\n PublicSector\n TechAndTechnologyService\n Telecoms\n TravelAndHospitality\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitWork {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n industry WorkIndustryType?\n otherIndustry String?\n companyName String\n position String\n startDate DateTime?\n endDate DateTime?\n working Boolean?\n description String?\n associatedSkills String[]\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitEducation {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n collegeName String\n degree String\n endYear Int?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitBasicInfo {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n userId BigInt\n country String\n primaryInterestInTopcoder String\n tshirtSize String?\n gender String?\n shortBio String\n birthDate DateTime?\n currentLocation String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([memberTraitId])\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitLanguage {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n language String\n spokenLevel String?\n writtenLevel String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\n// This model is used to send messages when user login. When profile not complete, it will show up.\nmodel memberTraitOnboardChecklist {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n listItemType String // Like 'profile_completed'\n date DateTime\n message String\n status String\n skip Boolean?\n metadata Json?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitPersonalization {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n key String?\n value Json?\n private Boolean @default(false)\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@index([memberTraitId, key], map: \"memberTraitPersonalization_memberTraitId_key_idx\")\n @@schema(\"members\")\n}\n\nmodel memberTraitCommunity {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n communityName String\n status Boolean\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n", + "inlineSchemaHash": "72fac5e8a2fbcbc76562b3d93f6fe69b84080bdea52b075498a06a85d0e8524b", + "copyEngine": true +} + +const fs = require('fs') + +config.dirname = __dirname +if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { + const alternativePaths = [ + "packages/member-prisma-client", + "member-prisma-client", + ] + + const alternativePath = alternativePaths.find((altPath) => { + return fs.existsSync(path.join(process.cwd(), altPath, 'schema.prisma')) + }) ?? alternativePaths[0] + + config.dirname = path.join(process.cwd(), alternativePath) + config.isBundled = true +} + +config.runtimeDataModel = JSON.parse("{\"models\":{\"member\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handle\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handleLower\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberRatingId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberMaxRating\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherLangName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MemberStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberAddress\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phones\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberPhone\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"competitionCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"photoURL\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tracks\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"loginCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLoginDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigsLastUpdateDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProfileConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScoreDeduction\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"namesAndHandleAppearance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aggregatedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enteredSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"financial\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberFinancial\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStats\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStats\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStatsHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStatsHistory\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengePoints\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberChallengePoints\",\"nativeType\":null,\"relationName\":\"memberTomemberChallengePoints\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberAddress\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr1\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr2\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stateCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberPhone\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"number\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"number\"]}],\"isGenerated\":false},\"memberMaxRating\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"track\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subTrack\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ratingColor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberFinancial\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FinancialStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStatsHistory\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"percentile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStats\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challenges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wins\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentSubmission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentEventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgNumSubmissions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"globalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"countryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topFiveFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topTenFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"trackId\",\"typeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"trackId\",\"typeId\"]}],\"isGenerated\":false},\"memberChallengePoints\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"points\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberChallengePoints\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"challengeId\",\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"challengeId\",\"userId\"]}],\"isGenerated\":false},\"memberTraits\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"device\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitDevice\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"software\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitSoftware\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serviceProvider\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitServiceProvider\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptions\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hobby\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"work\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitWork\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"education\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitEducation\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basicInfo\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitBasicInfo\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitLanguage\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"checklist\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitOnboardChecklist\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"personalization\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitPersonalization\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"community\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitCommunity\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberTraitDevice\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DeviceType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatingSystem\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osLanguage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitSoftware\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"softwareType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SoftwareType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitServiceProvider\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServiceProviderType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitWork\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"industry\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WorkIndustryType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherIndustry\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"working\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"associatedSkills\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitEducation\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collegeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"degree\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endYear\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitBasicInfo\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"primaryInterestInTopcoder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tshirtSize\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"shortBio\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"memberTraitId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"memberTraitId\"]}],\"isGenerated\":false},\"memberTraitLanguage\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"spokenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"writtenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitOnboardChecklist\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"listItemType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitPersonalization\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"private\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitCommunity\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"communityName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"MemberStatus\":{\"values\":[{\"name\":\"UNVERIFIED\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"INACTIVE_USER_REQUEST\",\"dbName\":null},{\"name\":\"INACTIVE_DUPLICATE_ACCOUNT\",\"dbName\":null},{\"name\":\"INACTIVE_IRREGULAR_ACCOUNT\",\"dbName\":null},{\"name\":\"UNKNOWN\",\"dbName\":null}],\"dbName\":null},\"FinancialStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"PAID\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null}],\"dbName\":null},\"DeviceType\":{\"values\":[{\"name\":\"Console\",\"dbName\":null},{\"name\":\"Desktop\",\"dbName\":null},{\"name\":\"Laptop\",\"dbName\":null},{\"name\":\"Smartphone\",\"dbName\":null},{\"name\":\"Tablet\",\"dbName\":null},{\"name\":\"Wearable\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"SoftwareType\":{\"values\":[{\"name\":\"DeveloperTools\",\"dbName\":null},{\"name\":\"Browser\",\"dbName\":null},{\"name\":\"Productivity\",\"dbName\":null},{\"name\":\"GraphAndDesign\",\"dbName\":null},{\"name\":\"Utilities\",\"dbName\":null}],\"dbName\":null},\"ServiceProviderType\":{\"values\":[{\"name\":\"InternetServiceProvider\",\"dbName\":null},{\"name\":\"MobileCarrier\",\"dbName\":null},{\"name\":\"Television\",\"dbName\":null},{\"name\":\"FinancialInstitution\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"WorkIndustryType\":{\"values\":[{\"name\":\"Banking\",\"dbName\":null},{\"name\":\"ConsumerGoods\",\"dbName\":null},{\"name\":\"Energy\",\"dbName\":null},{\"name\":\"Entertainment\",\"dbName\":null},{\"name\":\"HealthCare\",\"dbName\":null},{\"name\":\"Pharma\",\"dbName\":null},{\"name\":\"PublicSector\",\"dbName\":null},{\"name\":\"TechAndTechnologyService\",\"dbName\":null},{\"name\":\"Telecoms\",\"dbName\":null},{\"name\":\"TravelAndHospitality\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +defineDmmfProperty(exports.Prisma, config.runtimeDataModel) +config.engineWasm = undefined +config.compilerWasm = undefined + + +const { warnEnvConflicts } = require('./runtime/library.js') + +warnEnvConflicts({ + rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.rootEnvPath), + schemaEnvPath: config.relativeEnvPaths.schemaEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.schemaEnvPath) +}) + +const PrismaClient = getPrismaClient(config) +exports.PrismaClient = PrismaClient +Object.assign(exports, Prisma) + +// file annotations for bundling tools to include these files +path.join(__dirname, "libquery_engine-debian-openssl-3.0.x.so.node"); +path.join(process.cwd(), "packages/member-prisma-client/libquery_engine-debian-openssl-3.0.x.so.node") +// file annotations for bundling tools to include these files +path.join(__dirname, "schema.prisma"); +path.join(process.cwd(), "packages/member-prisma-client/schema.prisma") diff --git a/packages/member-prisma-client/libquery_engine-debian-openssl-3.0.x.so.node b/packages/member-prisma-client/libquery_engine-debian-openssl-3.0.x.so.node new file mode 100755 index 0000000..fd83c8e Binary files /dev/null and b/packages/member-prisma-client/libquery_engine-debian-openssl-3.0.x.so.node differ diff --git a/packages/member-prisma-client/package.json b/packages/member-prisma-client/package.json new file mode 100644 index 0000000..aa79070 --- /dev/null +++ b/packages/member-prisma-client/package.json @@ -0,0 +1,183 @@ +{ + "name": "prisma-client-68ac9ef07814b0c2854f848cd1ea56713cfac6125482b190293d2df2231f92d1", + "main": "index.js", + "types": "index.d.ts", + "browser": "default.js", + "exports": { + "./client": { + "require": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "import": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "default": "./index.js" + }, + "./package.json": "./package.json", + ".": { + "require": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "import": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "default": "./index.js" + }, + "./edge": { + "types": "./edge.d.ts", + "require": "./edge.js", + "import": "./edge.js", + "default": "./edge.js" + }, + "./react-native": { + "types": "./react-native.d.ts", + "require": "./react-native.js", + "import": "./react-native.js", + "default": "./react-native.js" + }, + "./extension": { + "types": "./extension.d.ts", + "require": "./extension.js", + "import": "./extension.js", + "default": "./extension.js" + }, + "./index-browser": { + "types": "./index.d.ts", + "require": "./index-browser.js", + "import": "./index-browser.js", + "default": "./index-browser.js" + }, + "./index": { + "types": "./index.d.ts", + "require": "./index.js", + "import": "./index.js", + "default": "./index.js" + }, + "./wasm": { + "types": "./wasm.d.ts", + "require": "./wasm.js", + "import": "./wasm.mjs", + "default": "./wasm.mjs" + }, + "./runtime/client": { + "types": "./runtime/client.d.ts", + "node": { + "require": "./runtime/client.js", + "default": "./runtime/client.js" + }, + "require": "./runtime/client.js", + "import": "./runtime/client.mjs", + "default": "./runtime/client.mjs" + }, + "./runtime/library": { + "types": "./runtime/library.d.ts", + "require": "./runtime/library.js", + "import": "./runtime/library.mjs", + "default": "./runtime/library.mjs" + }, + "./runtime/binary": { + "types": "./runtime/binary.d.ts", + "require": "./runtime/binary.js", + "import": "./runtime/binary.mjs", + "default": "./runtime/binary.mjs" + }, + "./runtime/wasm-engine-edge": { + "types": "./runtime/wasm-engine-edge.d.ts", + "require": "./runtime/wasm-engine-edge.js", + "import": "./runtime/wasm-engine-edge.mjs", + "default": "./runtime/wasm-engine-edge.mjs" + }, + "./runtime/wasm-compiler-edge": { + "types": "./runtime/wasm-compiler-edge.d.ts", + "require": "./runtime/wasm-compiler-edge.js", + "import": "./runtime/wasm-compiler-edge.mjs", + "default": "./runtime/wasm-compiler-edge.mjs" + }, + "./runtime/edge": { + "types": "./runtime/edge.d.ts", + "require": "./runtime/edge.js", + "import": "./runtime/edge-esm.js", + "default": "./runtime/edge-esm.js" + }, + "./runtime/react-native": { + "types": "./runtime/react-native.d.ts", + "require": "./runtime/react-native.js", + "import": "./runtime/react-native.js", + "default": "./runtime/react-native.js" + }, + "./runtime/index-browser": { + "types": "./runtime/index-browser.d.ts", + "require": "./runtime/index-browser.js", + "import": "./runtime/index-browser.mjs", + "default": "./runtime/index-browser.mjs" + }, + "./generator-build": { + "require": "./generator-build/index.js", + "import": "./generator-build/index.js", + "default": "./generator-build/index.js" + }, + "./sql": { + "require": { + "types": "./sql.d.ts", + "node": "./sql.js", + "default": "./sql.js" + }, + "import": { + "types": "./sql.d.ts", + "node": "./sql.mjs", + "default": "./sql.mjs" + }, + "default": "./sql.js" + }, + "./*": "./*" + }, + "version": "6.19.2", + "sideEffects": false, + "imports": { + "#wasm-engine-loader": { + "edge-light": "./wasm-edge-light-loader.mjs", + "workerd": "./wasm-worker-loader.mjs", + "worker": "./wasm-worker-loader.mjs", + "default": "./wasm-worker-loader.mjs" + }, + "#main-entry-point": { + "require": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "import": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "default": "./index.js" + } + } +} \ No newline at end of file diff --git a/packages/member-prisma-client/query_engine_bg.js b/packages/member-prisma-client/query_engine_bg.js new file mode 100644 index 0000000..5faf0a5 --- /dev/null +++ b/packages/member-prisma-client/query_engine_bg.js @@ -0,0 +1,2 @@ +"use strict";var F=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var L=(e,t)=>{for(var n in t)F(e,n,{get:t[n],enumerable:!0})},N=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of B(t))!U.call(e,o)&&o!==n&&F(e,o,{get:()=>t[o],enumerable:!(r=j(t,o))||r.enumerable});return e};var C=e=>N(F({},"__esModule",{value:!0}),e);var kt={};L(kt,{QueryEngine:()=>k,__wbg_Error_e83987f665cf5504:()=>J,__wbg_Number_bb48ca12f395cd08:()=>X,__wbg_String_8f0eb39a4a4c2f66:()=>Y,__wbg___wbindgen_bigint_get_as_i64_f3ebc5a755000afd:()=>K,__wbg___wbindgen_boolean_get_6d5a1ee65bab5f68:()=>Z,__wbg___wbindgen_debug_string_df47ffb5e35e6763:()=>ee,__wbg___wbindgen_in_bb933bd9e1b3bc0f:()=>te,__wbg___wbindgen_is_bigint_cb320707dcd35f0b:()=>ne,__wbg___wbindgen_is_function_ee8a6c5833c90377:()=>re,__wbg___wbindgen_is_object_c818261d21f283a4:()=>_e,__wbg___wbindgen_is_string_fbb76cb2940daafd:()=>oe,__wbg___wbindgen_is_undefined_2d472862bd29a478:()=>ce,__wbg___wbindgen_jsval_eq_6b13ab83478b1c50:()=>ie,__wbg___wbindgen_jsval_loose_eq_b664b38a2f582147:()=>ue,__wbg___wbindgen_number_get_a20bf9b85341449d:()=>se,__wbg___wbindgen_string_get_e4f06c90489ad01b:()=>be,__wbg___wbindgen_throw_b855445ff6a94295:()=>fe,__wbg__wbg_cb_unref_2454a539ea5790d9:()=>ae,__wbg_call_525440f72fbfc0ea:()=>ge,__wbg_call_e762c39fa8ea36bf:()=>le,__wbg_crypto_805be4ce92f1e370:()=>de,__wbg_done_2042aa2670fb1db1:()=>we,__wbg_entries_e171b586f8f6bdbf:()=>pe,__wbg_exec_fdeec61d47617356:()=>xe,__wbg_getRandomValues_f6a868620c8bab49:()=>ye,__wbg_getTime_14776bfb48a1bff9:()=>me,__wbg_get_7bed016f185add81:()=>he,__wbg_get_ece95cf6585650d9:()=>Te,__wbg_get_efcb449f58ec27c2:()=>Ae,__wbg_get_with_ref_key_1dc361bd10053bfe:()=>Se,__wbg_has_787fafc980c3ccdb:()=>Fe,__wbg_instanceof_ArrayBuffer_70beb1189ca63b38:()=>Ie,__wbg_instanceof_Map_8579b5e2ab5437c7:()=>qe,__wbg_instanceof_Promise_001fdd42afa1b7ef:()=>Ee,__wbg_instanceof_Uint8Array_20c8e73002f7af98:()=>ke,__wbg_isArray_96e0af9891d0945d:()=>Oe,__wbg_isSafeInteger_d216eda7911dde36:()=>Me,__wbg_iterator_e5822695327a3c39:()=>ve,__wbg_keys_b4d27b02ad14f4be:()=>De,__wbg_length_69bca3cb64fc8748:()=>Re,__wbg_length_cdd215e10d9dd507:()=>je,__wbg_msCrypto_2ac4d17c4748234a:()=>Be,__wbg_new_0_f9740686d739025c:()=>Ue,__wbg_new_1acc0b6eea89d040:()=>Le,__wbg_new_23fa8b12a239f036:()=>Ne,__wbg_new_3c3d849046688a66:()=>Ce,__wbg_new_5a79be3ab53b8aa5:()=>$e,__wbg_new_68651c719dcda04e:()=>Ve,__wbg_new_e17d9f43105b08be:()=>We,__wbg_new_from_slice_92f4d78ca282a2d2:()=>ze,__wbg_new_no_args_ee98eee5275000a4:()=>Pe,__wbg_new_with_length_01aa0dc35aa13543:()=>Ge,__wbg_next_020810e0ae8ebcb0:()=>Qe,__wbg_next_2c826fe5dfec6b6a:()=>He,__wbg_node_ecc8306b9857f33d:()=>Je,__wbg_now_793306c526e2e3b6:()=>Xe,__wbg_now_7fd00a794a07d388:()=>Ye,__wbg_now_b3f7572f6ef3d3a9:()=>Ke,__wbg_process_5cff2739921be718:()=>Ze,__wbg_prototypesetcall_2a6620b6922694b2:()=>et,__wbg_push_df81a39d04db858c:()=>tt,__wbg_queueMicrotask_5a8a9131f3f0b37b:()=>nt,__wbg_queueMicrotask_6d79674585219521:()=>rt,__wbg_randomFillSync_d3c85af7e31cf1f8:()=>_t,__wbg_require_0c566c6f2eef6c79:()=>ot,__wbg_resolve_caf97c30b83f7053:()=>ct,__wbg_setTimeout_5d6a1d4fc51ea450:()=>it,__wbg_set_3f1d0b984ed272ed:()=>ut,__wbg_set_907fb406c34a251d:()=>st,__wbg_set_c213c871859d6500:()=>bt,__wbg_set_c2abbebe8b9ebee1:()=>ft,__wbg_set_wasm:()=>$,__wbg_static_accessor_GLOBAL_89e1d9ac6a1b250e:()=>at,__wbg_static_accessor_GLOBAL_THIS_8b530f326a9e48ac:()=>gt,__wbg_static_accessor_SELF_6fdf4b64710cc91b:()=>lt,__wbg_static_accessor_WINDOW_b45bfc5a37f6cfa2:()=>dt,__wbg_subarray_480600f3d6a9f26c:()=>wt,__wbg_then_4f46f6544e6b4a28:()=>pt,__wbg_then_70d05cf780a18d77:()=>xt,__wbg_valueOf_9eee4828c11458ca:()=>yt,__wbg_value_692627309814bb8c:()=>mt,__wbg_versions_a8e5a362e1f16442:()=>ht,__wbindgen_cast_2241b6af4c4b2941:()=>Tt,__wbindgen_cast_4625c577ab2ec9ee:()=>At,__wbindgen_cast_7bf296c42657ff30:()=>St,__wbindgen_cast_9ae0607507abb057:()=>Ft,__wbindgen_cast_cb9088102bce6b30:()=>It,__wbindgen_cast_d6cd19b81560fd6e:()=>qt,__wbindgen_init_externref_table:()=>Et,debug_panic:()=>G,getBuildTimeInfo:()=>P});module.exports=C(kt);var T=()=>{};T.prototype=T;let _;function $(e){_=e}let A=null;function y(){return(A===null||A.byteLength===0)&&(A=new Uint8Array(_.memory.buffer)),A}let S=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});S.decode();const V=2146435072;let I=0;function W(e,t){return I+=t,I>=V&&(S=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),S.decode(),I=t),S.decode(y().subarray(e,e+t))}function w(e,t){return e=e>>>0,W(e,t)}let s=0;const m=new TextEncoder;"encodeInto"in m||(m.encodeInto=function(e,t){const n=m.encode(e);return t.set(n),{read:e.length,written:n.length}});function b(e,t,n){if(n===void 0){const u=m.encode(e),f=t(u.length,1)>>>0;return y().subarray(f,f+u.length).set(u),s=u.length,f}let r=e.length,o=t(r,1)>>>0;const i=y();let c=0;for(;c127)break;i[o+c]=u}if(c!==r){c!==0&&(e=e.slice(c)),o=n(o,r,r=c+e.length*3,1)>>>0;const u=y().subarray(o+c,o+r),f=m.encodeInto(e,u);c+=f.written,o=n(o,r,c,1)>>>0}return s=c,o}let p=null;function l(){return(p===null||p.buffer.detached===!0||p.buffer.detached===void 0&&p.buffer!==_.memory.buffer)&&(p=new DataView(_.memory.buffer)),p}function a(e){return e==null}function q(e){const t=typeof e;if(t=="number"||t=="boolean"||e==null)return`${e}`;if(t=="string")return`"${e}"`;if(t=="symbol"){const o=e.description;return o==null?"Symbol":`Symbol(${o})`}if(t=="function"){const o=e.name;return typeof o=="string"&&o.length>0?`Function(${o})`:"Function"}if(Array.isArray(e)){const o=e.length;let i="[";o>0&&(i+=q(e[0]));for(let c=1;c1)r=n[1];else return toString.call(e);if(r=="Object")try{return"Object("+JSON.stringify(e)+")"}catch{return"Object"}return e instanceof Error?`${e.name}: ${e.message} +${e.stack}`:r}function x(e){const t=_.__externref_table_alloc();return _.__wbindgen_externrefs.set(t,e),t}function g(e,t){try{return e.apply(this,t)}catch(n){const r=x(n);_.__wbindgen_exn_store(r)}}function E(e,t){return e=e>>>0,y().subarray(e/1,e/1+t)}const O=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>e.dtor(e.a,e.b));function z(e,t,n,r){const o={a:e,b:t,cnt:1,dtor:n},i=(...c)=>{o.cnt++;const u=o.a;o.a=0;try{return r(u,o.b,...c)}finally{o.a=u,i._wbg_cb_unref()}};return i._wbg_cb_unref=()=>{--o.cnt===0&&(o.dtor(o.a,o.b),o.a=0,O.unregister(o))},O.register(i,o,o),i}function M(e){const t=_.__wbindgen_externrefs.get(e);return _.__externref_table_dealloc(e),t}function P(){return _.getBuildTimeInfo()}function G(e){var t=a(e)?0:b(e,_.__wbindgen_malloc,_.__wbindgen_realloc),n=s;const r=_.debug_panic(t,n);if(r[1])throw M(r[0])}function Q(e,t,n){_.wasm_bindgen__convert__closures_____invoke__ha235f3ea55a06a09(e,t,n)}function H(e,t,n,r){_.wasm_bindgen__convert__closures_____invoke__h1a2f20be69ab8911(e,t,n,r)}const v=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>_.__wbg_queryengine_free(e>>>0,1));class k{__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,v.unregister(this),t}free(){const t=this.__destroy_into_raw();_.__wbg_queryengine_free(t,0)}disconnect(t,n){const r=b(t,_.__wbindgen_malloc,_.__wbindgen_realloc),o=s,i=b(n,_.__wbindgen_malloc,_.__wbindgen_realloc),c=s;return _.queryengine_disconnect(this.__wbg_ptr,r,o,i,c)}startTransaction(t,n,r){const o=b(t,_.__wbindgen_malloc,_.__wbindgen_realloc),i=s,c=b(n,_.__wbindgen_malloc,_.__wbindgen_realloc),u=s,f=b(r,_.__wbindgen_malloc,_.__wbindgen_realloc),d=s;return _.queryengine_startTransaction(this.__wbg_ptr,o,i,c,u,f,d)}commitTransaction(t,n,r){const o=b(t,_.__wbindgen_malloc,_.__wbindgen_realloc),i=s,c=b(n,_.__wbindgen_malloc,_.__wbindgen_realloc),u=s,f=b(r,_.__wbindgen_malloc,_.__wbindgen_realloc),d=s;return _.queryengine_commitTransaction(this.__wbg_ptr,o,i,c,u,f,d)}rollbackTransaction(t,n,r){const o=b(t,_.__wbindgen_malloc,_.__wbindgen_realloc),i=s,c=b(n,_.__wbindgen_malloc,_.__wbindgen_realloc),u=s,f=b(r,_.__wbindgen_malloc,_.__wbindgen_realloc),d=s;return _.queryengine_rollbackTransaction(this.__wbg_ptr,o,i,c,u,f,d)}constructor(t,n,r){const o=_.queryengine_new(t,n,r);if(o[2])throw M(o[1]);return this.__wbg_ptr=o[0]>>>0,v.register(this,this.__wbg_ptr,this),this}query(t,n,r,o){const i=b(t,_.__wbindgen_malloc,_.__wbindgen_realloc),c=s,u=b(n,_.__wbindgen_malloc,_.__wbindgen_realloc),f=s;var d=a(r)?0:b(r,_.__wbindgen_malloc,_.__wbindgen_realloc),h=s;const D=b(o,_.__wbindgen_malloc,_.__wbindgen_realloc),R=s;return _.queryengine_query(this.__wbg_ptr,i,c,u,f,d,h,D,R)}trace(t){const n=b(t,_.__wbindgen_malloc,_.__wbindgen_realloc),r=s;return _.queryengine_trace(this.__wbg_ptr,n,r)}connect(t,n){const r=b(t,_.__wbindgen_malloc,_.__wbindgen_realloc),o=s,i=b(n,_.__wbindgen_malloc,_.__wbindgen_realloc),c=s;return _.queryengine_connect(this.__wbg_ptr,r,o,i,c)}metrics(t){const n=b(t,_.__wbindgen_malloc,_.__wbindgen_realloc),r=s;return _.queryengine_metrics(this.__wbg_ptr,n,r)}}Symbol.dispose&&(k.prototype[Symbol.dispose]=k.prototype.free);function J(e,t){return Error(w(e,t))}function X(e){return Number(e)}function Y(e,t){const n=String(t),r=b(n,_.__wbindgen_malloc,_.__wbindgen_realloc),o=s;l().setInt32(e+4*1,o,!0),l().setInt32(e+4*0,r,!0)}function K(e,t){const n=t,r=typeof n=="bigint"?n:void 0;l().setBigInt64(e+8*1,a(r)?BigInt(0):r,!0),l().setInt32(e+4*0,!a(r),!0)}function Z(e){const t=e,n=typeof t=="boolean"?t:void 0;return a(n)?16777215:n?1:0}function ee(e,t){const n=q(t),r=b(n,_.__wbindgen_malloc,_.__wbindgen_realloc),o=s;l().setInt32(e+4*1,o,!0),l().setInt32(e+4*0,r,!0)}function te(e,t){return e in t}function ne(e){return typeof e=="bigint"}function re(e){return typeof e=="function"}function _e(e){const t=e;return typeof t=="object"&&t!==null}function oe(e){return typeof e=="string"}function ce(e){return e===void 0}function ie(e,t){return e===t}function ue(e,t){return e==t}function se(e,t){const n=t,r=typeof n=="number"?n:void 0;l().setFloat64(e+8*1,a(r)?0:r,!0),l().setInt32(e+4*0,!a(r),!0)}function be(e,t){const n=t,r=typeof n=="string"?n:void 0;var o=a(r)?0:b(r,_.__wbindgen_malloc,_.__wbindgen_realloc),i=s;l().setInt32(e+4*1,i,!0),l().setInt32(e+4*0,o,!0)}function fe(e,t){throw new Error(w(e,t))}function ae(e){e._wbg_cb_unref()}function ge(){return g(function(e,t,n){return e.call(t,n)},arguments)}function le(){return g(function(e,t){return e.call(t)},arguments)}function de(e){return e.crypto}function we(e){return e.done}function pe(e){return Object.entries(e)}function xe(e,t,n){const r=e.exec(w(t,n));return a(r)?0:x(r)}function ye(){return g(function(e,t){e.getRandomValues(t)},arguments)}function me(e){return e.getTime()}function he(e,t){return e[t>>>0]}function Te(){return g(function(e,t){return e[t]},arguments)}function Ae(){return g(function(e,t){return Reflect.get(e,t)},arguments)}function Se(e,t){return e[t]}function Fe(){return g(function(e,t){return Reflect.has(e,t)},arguments)}function Ie(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t}function qe(e){let t;try{t=e instanceof Map}catch{t=!1}return t}function Ee(e){let t;try{t=e instanceof Promise}catch{t=!1}return t}function ke(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t}function Oe(e){return Array.isArray(e)}function Me(e){return Number.isSafeInteger(e)}function ve(){return Symbol.iterator}function De(e){return Object.keys(e)}function Re(e){return e.length}function je(e){return e.length}function Be(e){return e.msCrypto}function Ue(){return new Date}function Le(){return new Object}function Ne(e,t,n,r){return new RegExp(w(e,t),w(n,r))}function Ce(e,t){try{var n={a:e,b:t},r=(i,c)=>{const u=n.a;n.a=0;try{return H(u,n.b,i,c)}finally{n.a=u}};return new Promise(r)}finally{n.a=n.b=0}}function $e(e){return new Uint8Array(e)}function Ve(){return new Map}function We(){return new Array}function ze(e,t){return new Uint8Array(E(e,t))}function Pe(e,t){return new T(w(e,t))}function Ge(e){return new Uint8Array(e>>>0)}function Qe(){return g(function(e){return e.next()},arguments)}function He(e){return e.next}function Je(e){return e.node}function Xe(){return Date.now()}function Ye(e){return e.now()}function Ke(){return g(function(){return Date.now()},arguments)}function Ze(e){return e.process}function et(e,t,n){Uint8Array.prototype.set.call(E(e,t),n)}function tt(e,t){return e.push(t)}function nt(e){return e.queueMicrotask}function rt(e){queueMicrotask(e)}function _t(){return g(function(e,t){e.randomFillSync(t)},arguments)}function ot(){return g(function(){return module.require},arguments)}function ct(e){return Promise.resolve(e)}function it(e,t){return setTimeout(e,t>>>0)}function ut(e,t,n){e[t]=n}function st(e,t,n){return e.set(t,n)}function bt(e,t,n){e[t>>>0]=n}function ft(){return g(function(e,t,n){return Reflect.set(e,t,n)},arguments)}function at(){const e=typeof global>"u"?null:global;return a(e)?0:x(e)}function gt(){const e=typeof globalThis>"u"?null:globalThis;return a(e)?0:x(e)}function lt(){const e=typeof self>"u"?null:self;return a(e)?0:x(e)}function dt(){const e=typeof window>"u"?null:window;return a(e)?0:x(e)}function wt(e,t,n){return e.subarray(t>>>0,n>>>0)}function pt(e,t){return e.then(t)}function xt(e,t,n){return e.then(t,n)}function yt(e){return e.valueOf()}function mt(e){return e.value}function ht(e){return e.versions}function Tt(e,t){return w(e,t)}function At(e){return BigInt.asUintN(64,e)}function St(e,t){return z(e,t,_.wasm_bindgen__closure__destroy__hf9ae564cf31e91c2,Q)}function Ft(e){return e}function It(e,t){return E(e,t)}function qt(e){return e}function Et(){const e=_.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}0&&(module.exports={QueryEngine,__wbg_Error_e83987f665cf5504,__wbg_Number_bb48ca12f395cd08,__wbg_String_8f0eb39a4a4c2f66,__wbg___wbindgen_bigint_get_as_i64_f3ebc5a755000afd,__wbg___wbindgen_boolean_get_6d5a1ee65bab5f68,__wbg___wbindgen_debug_string_df47ffb5e35e6763,__wbg___wbindgen_in_bb933bd9e1b3bc0f,__wbg___wbindgen_is_bigint_cb320707dcd35f0b,__wbg___wbindgen_is_function_ee8a6c5833c90377,__wbg___wbindgen_is_object_c818261d21f283a4,__wbg___wbindgen_is_string_fbb76cb2940daafd,__wbg___wbindgen_is_undefined_2d472862bd29a478,__wbg___wbindgen_jsval_eq_6b13ab83478b1c50,__wbg___wbindgen_jsval_loose_eq_b664b38a2f582147,__wbg___wbindgen_number_get_a20bf9b85341449d,__wbg___wbindgen_string_get_e4f06c90489ad01b,__wbg___wbindgen_throw_b855445ff6a94295,__wbg__wbg_cb_unref_2454a539ea5790d9,__wbg_call_525440f72fbfc0ea,__wbg_call_e762c39fa8ea36bf,__wbg_crypto_805be4ce92f1e370,__wbg_done_2042aa2670fb1db1,__wbg_entries_e171b586f8f6bdbf,__wbg_exec_fdeec61d47617356,__wbg_getRandomValues_f6a868620c8bab49,__wbg_getTime_14776bfb48a1bff9,__wbg_get_7bed016f185add81,__wbg_get_ece95cf6585650d9,__wbg_get_efcb449f58ec27c2,__wbg_get_with_ref_key_1dc361bd10053bfe,__wbg_has_787fafc980c3ccdb,__wbg_instanceof_ArrayBuffer_70beb1189ca63b38,__wbg_instanceof_Map_8579b5e2ab5437c7,__wbg_instanceof_Promise_001fdd42afa1b7ef,__wbg_instanceof_Uint8Array_20c8e73002f7af98,__wbg_isArray_96e0af9891d0945d,__wbg_isSafeInteger_d216eda7911dde36,__wbg_iterator_e5822695327a3c39,__wbg_keys_b4d27b02ad14f4be,__wbg_length_69bca3cb64fc8748,__wbg_length_cdd215e10d9dd507,__wbg_msCrypto_2ac4d17c4748234a,__wbg_new_0_f9740686d739025c,__wbg_new_1acc0b6eea89d040,__wbg_new_23fa8b12a239f036,__wbg_new_3c3d849046688a66,__wbg_new_5a79be3ab53b8aa5,__wbg_new_68651c719dcda04e,__wbg_new_e17d9f43105b08be,__wbg_new_from_slice_92f4d78ca282a2d2,__wbg_new_no_args_ee98eee5275000a4,__wbg_new_with_length_01aa0dc35aa13543,__wbg_next_020810e0ae8ebcb0,__wbg_next_2c826fe5dfec6b6a,__wbg_node_ecc8306b9857f33d,__wbg_now_793306c526e2e3b6,__wbg_now_7fd00a794a07d388,__wbg_now_b3f7572f6ef3d3a9,__wbg_process_5cff2739921be718,__wbg_prototypesetcall_2a6620b6922694b2,__wbg_push_df81a39d04db858c,__wbg_queueMicrotask_5a8a9131f3f0b37b,__wbg_queueMicrotask_6d79674585219521,__wbg_randomFillSync_d3c85af7e31cf1f8,__wbg_require_0c566c6f2eef6c79,__wbg_resolve_caf97c30b83f7053,__wbg_setTimeout_5d6a1d4fc51ea450,__wbg_set_3f1d0b984ed272ed,__wbg_set_907fb406c34a251d,__wbg_set_c213c871859d6500,__wbg_set_c2abbebe8b9ebee1,__wbg_set_wasm,__wbg_static_accessor_GLOBAL_89e1d9ac6a1b250e,__wbg_static_accessor_GLOBAL_THIS_8b530f326a9e48ac,__wbg_static_accessor_SELF_6fdf4b64710cc91b,__wbg_static_accessor_WINDOW_b45bfc5a37f6cfa2,__wbg_subarray_480600f3d6a9f26c,__wbg_then_4f46f6544e6b4a28,__wbg_then_70d05cf780a18d77,__wbg_valueOf_9eee4828c11458ca,__wbg_value_692627309814bb8c,__wbg_versions_a8e5a362e1f16442,__wbindgen_cast_2241b6af4c4b2941,__wbindgen_cast_4625c577ab2ec9ee,__wbindgen_cast_7bf296c42657ff30,__wbindgen_cast_9ae0607507abb057,__wbindgen_cast_cb9088102bce6b30,__wbindgen_cast_d6cd19b81560fd6e,__wbindgen_init_externref_table,debug_panic,getBuildTimeInfo}); diff --git a/packages/member-prisma-client/query_engine_bg.wasm b/packages/member-prisma-client/query_engine_bg.wasm new file mode 100644 index 0000000..ae035bc Binary files /dev/null and b/packages/member-prisma-client/query_engine_bg.wasm differ diff --git a/packages/member-prisma-client/runtime/edge-esm.js b/packages/member-prisma-client/runtime/edge-esm.js new file mode 100644 index 0000000..312b7a9 --- /dev/null +++ b/packages/member-prisma-client/runtime/edge-esm.js @@ -0,0 +1,35 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +var ca=Object.create;var rn=Object.defineProperty;var pa=Object.getOwnPropertyDescriptor;var ma=Object.getOwnPropertyNames;var fa=Object.getPrototypeOf,da=Object.prototype.hasOwnProperty;var fe=(e,t)=>()=>(e&&(t=e(e=0)),t);var Je=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),or=(e,t)=>{for(var r in t)rn(e,r,{get:t[r],enumerable:!0})},ga=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ma(t))!da.call(e,i)&&i!==r&&rn(e,i,{get:()=>t[i],enumerable:!(n=pa(t,i))||n.enumerable});return e};var Qe=(e,t,r)=>(r=e!=null?ca(fa(e)):{},ga(t||!e||!e.__esModule?rn(r,"default",{value:e,enumerable:!0}):r,e));var y,b,u=fe(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4},{cwd:b}=y});var x,c=fe(()=>{"use strict";x=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,p=fe(()=>{"use strict";E=()=>{};E.prototype=E});var m=fe(()=>{"use strict"});var Ti=Je(ze=>{"use strict";f();u();c();p();m();var ci=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ha=ci(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=I;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var M=S.indexOf("=");M===-1&&(M=C);var F=M===C?0:4-M%4;return[M,F]}function l(S){var C=a(S),M=C[0],F=C[1];return(M+F)*3/4-F}function d(S,C,M){return(C+M)*3/4-M}function g(S){var C,M=a(S),F=M[0],B=M[1],O=new n(d(S,F,B)),L=0,oe=B>0?F-4:F,J;for(J=0;J>16&255,O[L++]=C>>8&255,O[L++]=C&255;return B===2&&(C=r[S.charCodeAt(J)]<<2|r[S.charCodeAt(J+1)]>>4,O[L++]=C&255),B===1&&(C=r[S.charCodeAt(J)]<<10|r[S.charCodeAt(J+1)]<<4|r[S.charCodeAt(J+2)]>>2,O[L++]=C>>8&255,O[L++]=C&255),O}function h(S){return t[S>>18&63]+t[S>>12&63]+t[S>>6&63]+t[S&63]}function T(S,C,M){for(var F,B=[],O=C;Ooe?oe:L+O));return F===1?(C=S[M-1],B.push(t[C>>2]+t[C<<4&63]+"==")):F===2&&(C=(S[M-2]<<8)+S[M-1],B.push(t[C>>10]+t[C>>4&63]+t[C<<2&63]+"=")),B.join("")}}),ya=ci(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,d=(1<>1,h=-7,T=n?o-1:0,I=n?-1:1,S=t[r+T];for(T+=I,s=S&(1<<-h)-1,S>>=-h,h+=l;h>0;s=s*256+t[r+T],T+=I,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+T],T+=I,h-=8);if(s===0)s=1-g;else{if(s===d)return a?NaN:(S?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(S?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,d,g=s*8-o-1,h=(1<>1,I=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,S=i?0:s-1,C=i?1:-1,M=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(d=Math.pow(2,-a))<1&&(a--,d*=2),a+T>=1?r+=I/d:r+=I*Math.pow(2,1-T),r*d>=2&&(a++,d/=2),a+T>=h?(l=0,a=h):a+T>=1?(l=(r*d-1)*Math.pow(2,o),a=a+T):(l=r*Math.pow(2,T-1)*Math.pow(2,o),a=0));o>=8;t[n+S]=l&255,S+=C,l/=256,o-=8);for(a=a<0;t[n+S]=a&255,S+=C,a/=256,g-=8);t[n+S-C]|=M*128}}),nn=ha(),We=ya(),si=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ze.Buffer=A;ze.SlowBuffer=va;ze.INSPECT_MAX_BYTES=50;var sr=2147483647;ze.kMaxLength=sr;A.TYPED_ARRAY_SUPPORT=wa();!A.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function wa(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(A.prototype,"parent",{enumerable:!0,get:function(){if(A.isBuffer(this))return this.buffer}});Object.defineProperty(A.prototype,"offset",{enumerable:!0,get:function(){if(A.isBuffer(this))return this.byteOffset}});function xe(e){if(e>sr)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,A.prototype),t}function A(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return an(e)}return pi(e,t,r)}A.poolSize=8192;function pi(e,t,r){if(typeof e=="string")return ba(e,t);if(ArrayBuffer.isView(e))return xa(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(de(e,ArrayBuffer)||e&&de(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(de(e,SharedArrayBuffer)||e&&de(e.buffer,SharedArrayBuffer)))return fi(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return A.from(n,t,r);let i=Pa(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return A.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}A.from=function(e,t,r){return pi(e,t,r)};Object.setPrototypeOf(A.prototype,Uint8Array.prototype);Object.setPrototypeOf(A,Uint8Array);function mi(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Ea(e,t,r){return mi(e),e<=0?xe(e):t!==void 0?typeof r=="string"?xe(e).fill(t,r):xe(e).fill(t):xe(e)}A.alloc=function(e,t,r){return Ea(e,t,r)};function an(e){return mi(e),xe(e<0?0:ln(e)|0)}A.allocUnsafe=function(e){return an(e)};A.allocUnsafeSlow=function(e){return an(e)};function ba(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!A.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=di(e,t)|0,n=xe(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function on(e){let t=e.length<0?0:ln(e.length)|0,r=xe(t);for(let n=0;n=sr)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+sr.toString(16)+" bytes");return e|0}function va(e){return+e!=e&&(e=0),A.alloc(+e)}A.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==A.prototype};A.compare=function(e,t){if(de(e,Uint8Array)&&(e=A.from(e,e.offset,e.byteLength)),de(t,Uint8Array)&&(t=A.from(t,t.offset,t.byteLength)),!A.isBuffer(e)||!A.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(A.isBuffer(o)||(o=A.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(A.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function di(e,t){if(A.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||de(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return sn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return vi(e).length;default:if(i)return n?-1:sn(e).length;t=(""+t).toLowerCase(),i=!0}}A.byteLength=di;function Ta(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return _a(this,t,r);case"utf8":case"utf-8":return hi(this,t,r);case"ascii":return Da(this,t,r);case"latin1":case"binary":return Ma(this,t,r);case"base64":return Oa(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Na(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}A.prototype._isBuffer=!0;function Le(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}A.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};si&&(A.prototype[si]=A.prototype.inspect);A.prototype.compare=function(e,t,r,n,i){if(de(e,Uint8Array)&&(e=A.from(e,e.offset,e.byteLength)),!A.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),d=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,cn(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=A.from(t,n)),A.isBuffer(t))return t.length===0?-1:ai(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):ai(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function ai(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let d;if(i){let g=-1;for(d=r;ds&&(r=s-a),d=r;d>=0;d--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return Aa(this,e,t,r);case"utf8":case"utf-8":return Ra(this,e,t,r);case"ascii":case"latin1":case"binary":return Ca(this,e,t,r);case"base64":return Sa(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ia(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};A.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Oa(e,t,r){return t===0&&r===e.length?nn.fromByteArray(e):nn.fromByteArray(e.slice(t,r))}function hi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,d,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],d=e[i+2],(l&192)===128&&(d&192)===128&&(h=(o&15)<<12|(l&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],d=e[i+2],g=e[i+3],(l&192)===128&&(d&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(d&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return ka(n)}var li=4096;function ka(e){let t=e.length;if(t<=li)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}A.prototype.readUintLE=A.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};A.prototype.readUint8=A.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};A.prototype.readUint16LE=A.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};A.prototype.readUint16BE=A.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};A.prototype.readUint32LE=A.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};A.prototype.readUint32BE=A.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};A.prototype.readBigUInt64LE=Re(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&xt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&xt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};A.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};A.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};A.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};A.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};A.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};A.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};A.prototype.readBigInt64LE=Re(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&xt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&xt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),We.read(this,e,!0,23,4)};A.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),We.read(this,e,!1,23,4)};A.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!0,52,8)};A.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!1,52,8)};function re(e,t,r,n,i,o){if(!A.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}A.prototype.writeUintLE=A.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;re(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;re(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};A.prototype.writeUint8=A.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,1,255,0),this[t]=e&255,t+1};A.prototype.writeUint16LE=A.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};A.prototype.writeUint16BE=A.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};A.prototype.writeUint32LE=A.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};A.prototype.writeUint32BE=A.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function yi(e,t,r,n,i){Pi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function wi(e,t,r,n,i){Pi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}A.prototype.writeBigUInt64LE=Re(function(e,t=0){return yi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});A.prototype.writeBigUInt64BE=Re(function(e,t=0){return wi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});A.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);re(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};A.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);re(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};A.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};A.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};A.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};A.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};A.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};A.prototype.writeBigInt64LE=Re(function(e,t=0){return yi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});A.prototype.writeBigInt64BE=Re(function(e,t=0){return wi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ei(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function bi(e,t,r,n,i){return t=+t,r=r>>>0,i||Ei(e,t,r,4,34028234663852886e22,-34028234663852886e22),We.write(e,t,r,n,23,4),r+4}A.prototype.writeFloatLE=function(e,t,r){return bi(this,e,t,!0,r)};A.prototype.writeFloatBE=function(e,t,r){return bi(this,e,t,!1,r)};function xi(e,t,r,n,i){return t=+t,r=r>>>0,i||Ei(e,t,r,8,17976931348623157e292,-17976931348623157e292),We.write(e,t,r,n,52,8),r+8}A.prototype.writeDoubleLE=function(e,t,r){return xi(this,e,t,!0,r)};A.prototype.writeDoubleBE=function(e,t,r){return xi(this,e,t,!1,r)};A.prototype.copy=function(e,t,r,n){if(!A.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=ui(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ui(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ui(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Fa(e,t,r){He(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&xt(t,e.length-(r+1))}function Pi(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Ke.ERR_OUT_OF_RANGE("value",a,e)}Fa(n,i,o)}function He(e,t){if(typeof e!="number")throw new Ke.ERR_INVALID_ARG_TYPE(t,"number",e)}function xt(e,t,r){throw Math.floor(e)!==e?(He(e,r),new Ke.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Ke.ERR_BUFFER_OUT_OF_BOUNDS:new Ke.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var La=/[^+/0-9A-Za-z-_]/g;function Ua(e){if(e=e.split("=")[0],e=e.trim().replace(La,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function sn(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Ba(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function vi(e){return nn.toByteArray(Ua(e))}function ar(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function de(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function cn(e){return e!==e}var Va=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Re(e){return typeof BigInt>"u"?$a:e}function $a(){throw new Error("BigInt not supported")}});var w,f=fe(()=>{"use strict";w=Qe(Ti())});function Wa(){return!1}function fn(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function Ha(){return fn()}function za(){return[]}function Ya(e){e(null,[])}function Za(){return""}function Xa(){return""}function el(){}function tl(){}function rl(){}function nl(){}function il(){}function ol(){}function sl(){}function al(){}function ll(){return{close:()=>{},on:()=>{},removeAllListeners:()=>{}}}function ul(e,t){t(null,fn())}var cl,pl,ji,Gi=fe(()=>{"use strict";f();u();c();p();m();cl={},pl={existsSync:Wa,lstatSync:fn,stat:ul,statSync:Ha,readdirSync:za,readdir:Ya,readlinkSync:Za,realpathSync:Xa,chmodSync:el,renameSync:tl,mkdirSync:rl,rmdirSync:nl,rmSync:il,unlinkSync:ol,watchFile:sl,unwatchFile:al,watch:ll,promises:cl},ji=pl});var Ji=Je((mf,ml)=>{ml.exports={name:"@prisma/internals",version:"6.19.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-engine-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});function dl(...e){return e.join("/")}function gl(...e){return e.join("/")}function hl(e){let t=Qi(e),r=Ki(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function Qi(e){let t=e.split("/");return t[t.length-1]}function Ki(e){return e.split("/").slice(0,-1).join("/")}function wl(e){let t=e.split("/").filter(i=>i!==""&&i!=="."),r=[];for(let i of t)i===".."?r.pop():r.push(i);let n=r.join("/");return e.startsWith("/")?"/"+n:n}var Wi,yl,El,bl,pr,Hi=fe(()=>{"use strict";f();u();c();p();m();Wi="/",yl=":";El={sep:Wi},bl={basename:Qi,delimiter:yl,dirname:Ki,join:gl,normalize:wl,parse:hl,posix:El,resolve:dl,sep:Wi},pr=bl});var gn=Je((kf,vl)=>{vl.exports={name:"@prisma/engines-version",version:"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"c2990dca591cba766e3b7ef5d9e8a84796e47ab7"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var zi=Je(mr=>{"use strict";f();u();c();p();m();Object.defineProperty(mr,"__esModule",{value:!0});mr.enginesVersion=void 0;mr.enginesVersion=gn().prisma.enginesVersion});var Xi=Je((Gf,Zi)=>{"use strict";f();u();c();p();m();Zi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Sn=Je((jy,Eo)=>{"use strict";f();u();c();p();m();Eo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";f();u();c();p();m()});var Ao=fe(()=>{"use strict";f();u();c();p();m()});var Vr,Qo=fe(()=>{"use strict";f();u();c();p();m();Vr=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});f();u();c();p();m();var Ci={};or(Ci,{defineExtension:()=>Ai,getExtensionContext:()=>Ri});f();u();c();p();m();f();u();c();p();m();function Ai(e){return typeof e=="function"?e:t=>t.$extends(e)}f();u();c();p();m();function Ri(e){return e}var Ii={};or(Ii,{validator:()=>Si});f();u();c();p();m();f();u();c();p();m();function Si(...e){return t=>t}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var pn,Oi,ki,Di,Mi=!0;typeof y<"u"&&({FORCE_COLOR:pn,NODE_DISABLE_COLORS:Oi,NO_COLOR:ki,TERM:Di}=y.env||{},Mi=y.stdout&&y.stdout.isTTY);var ja={enabled:!Oi&&ki==null&&Di!=="dumb"&&(pn!=null&&pn!=="0"||Mi)};function j(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!ja.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var bm=j(0,0),lr=j(1,22),ur=j(2,22),xm=j(3,23),_i=j(4,24),Pm=j(7,27),vm=j(8,28),Tm=j(9,29),Am=j(30,39),Ye=j(31,39),Ni=j(32,39),Fi=j(33,39),Li=j(34,39),Rm=j(35,39),Ui=j(36,39),Cm=j(37,39),Bi=j(90,39),Sm=j(90,39),Im=j(40,49),Om=j(41,49),km=j(42,49),Dm=j(43,49),Mm=j(44,49),_m=j(45,49),Nm=j(46,49),Fm=j(47,49);f();u();c();p();m();var Ga=100,qi=["green","yellow","blue","magenta","cyan","red"],cr=[],Vi=Date.now(),Ja=0,mn=typeof y<"u"?y.env:{};globalThis.DEBUG??=mn.DEBUG??"";globalThis.DEBUG_COLORS??=mn.DEBUG_COLORS?mn.DEBUG_COLORS==="true":!0;var Pt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function Qa(e){let t={color:qi[Ja++%qi.length],enabled:Pt.enabled(e),namespace:e,log:Pt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&cr.push([o,...n]),cr.length>Ga&&cr.shift(),Pt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:Ka(g)),d=`+${Date.now()-Vi}ms`;Vi=Date.now(),a(o,...l,d)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var Z=new Proxy(Qa,{get:(e,t)=>Pt[t],set:(e,t,r)=>Pt[t]=r});function Ka(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function $i(){cr.length=0}f();u();c();p();m();f();u();c();p();m();var fl=Ji(),dn=fl.version;f();u();c();p();m();function Ze(e){let t=xl();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":Pl())}function xl(){let e=y.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function Pl(){return"library"}f();u();c();p();m();var Yi="prisma+postgres",fr=`${Yi}:`;function dr(e){return e?.toString().startsWith(`${fr}//`)??!1}function hn(e){if(!dr(e))return!1;let{host:t}=new URL(e);return t.includes("localhost")||t.includes("127.0.0.1")||t.includes("[::1]")}var Tt={};or(Tt,{error:()=>Rl,info:()=>Al,log:()=>Tl,query:()=>Cl,should:()=>eo,tags:()=>vt,warn:()=>yn});f();u();c();p();m();var vt={error:Ye("prisma:error"),warn:Fi("prisma:warn"),info:Ui("prisma:info"),query:Li("prisma:query")},eo={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function Tl(...e){console.log(...e)}function yn(e,...t){eo.warn()&&console.warn(`${vt.warn} ${e}`,...t)}function Al(e,...t){console.info(`${vt.info} ${e}`,...t)}function Rl(e,...t){console.error(`${vt.error} ${e}`,...t)}function Cl(e,...t){console.log(`${vt.query} ${e}`,...t)}f();u();c();p();m();function Ue(e,t){throw new Error(t)}f();u();c();p();m();f();u();c();p();m();function wn({onlyFirst:e=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var Sl=wn();function En(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Sl,"")}f();u();c();p();m();function bn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}f();u();c();p();m();function gr(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}f();u();c();p();m();function xn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{to.has(e)||(to.add(e),yn(t,...r))};var Q=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};N(Q,"PrismaClientInitializationError");f();u();c();p();m();var se=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};N(se,"PrismaClientKnownRequestError");f();u();c();p();m();var Ce=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};N(Ce,"PrismaClientRustPanicError");f();u();c();p();m();var ae=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};N(ae,"PrismaClientUnknownRequestError");f();u();c();p();m();var ee=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};N(ee,"PrismaClientValidationError");f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var ge=class{_map=new Map;get(t){return this._map.get(t)?.value}set(t,r){this._map.set(t,{value:r})}getOrCreate(t,r){let n=this._map.get(t);if(n)return n.value;let i=r();return this.set(t,i),i}};f();u();c();p();m();function Se(e){return e.substring(0,1).toLowerCase()+e.substring(1)}f();u();c();p();m();function no(e,t){let r={};for(let n of e){let i=n[t];r[i]=n}return r}f();u();c();p();m();function At(e){let t;return{get(){return t||(t={value:e()}),t.value}}}f();u();c();p();m();function Il(e){return{models:Pn(e.models),enums:Pn(e.enums),types:Pn(e.types)}}function Pn(e){let t={};for(let{name:r,...n}of e)t[r]=n;return t}f();u();c();p();m();function Xe(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function yr(e){return e.toString()!=="Invalid Date"}f();u();c();p();m();f();u();c();p();m();var et=9e15,De=1e9,vn="0123456789abcdef",br="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",xr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Tn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-et,maxE:et,crypto:!1},ao,Pe,_=!0,vr="[DecimalError] ",ke=vr+"Invalid argument: ",lo=vr+"Precision limit exceeded",uo=vr+"crypto unavailable",co="[object Decimal]",X=Math.floor,K=Math.pow,Ol=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,kl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Dl=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,po=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,pe=1e7,D=7,Ml=9007199254740991,_l=br.length-1,An=xr.length-1,R={toStringTag:co};R.absoluteValue=R.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),k(e)};R.ceil=function(){return k(new this.constructor(this),this.e+1,2)};R.clampedTo=R.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(ke+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};R.comparedTo=R.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,d=e.s;if(!s||!a)return!l||!d?NaN:l!==d?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-d:0;if(l!==d)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};R.cosine=R.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+D,n.rounding=1,r=Nl(n,yo(n,r)),n.precision=e,n.rounding=t,k(Pe==2||Pe==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};R.cubeRoot=R.cbrt=function(){var e,t,r,n,i,o,s,a,l,d,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*K(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=z(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=K(r,1/3),e=X((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),d=l.plus(g),n=V(d.plus(g).times(a),d.plus(l),s+2,1),z(a.d).slice(0,s)===(r=z(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(k(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(k(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,k(n,e,h.rounding,t)};R.decimalPlaces=R.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-X(this.e/D))*D,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};R.dividedBy=R.div=function(e){return V(this,new this.constructor(e))};R.dividedToIntegerBy=R.divToInt=function(e){var t=this,r=t.constructor;return k(V(t,new r(e),0,1,1),r.precision,r.rounding)};R.equals=R.eq=function(e){return this.cmp(e)===0};R.floor=function(){return k(new this.constructor(this),this.e+1,3)};R.greaterThan=R.gt=function(e){return this.cmp(e)>0};R.greaterThanOrEqualTo=R.gte=function(e){var t=this.cmp(e);return t==1||t===0};R.hyperbolicCosine=R.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Ar(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=tt(s,1,o.times(t),new s(1),!0);for(var l,d=e,g=new s(8);d--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return k(o,s.precision=r,s.rounding=n,!0)};R.hyperbolicSine=R.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=tt(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Ar(5,e)),i=tt(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),d=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(d))))}return o.precision=t,o.rounding=r,k(i,t,r,!0)};R.hyperbolicTangent=R.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,V(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};R.inverseCosine=R.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?he(t,n,i):new t(0):new t(NaN):e.isZero()?he(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};R.inverseHyperbolicCosine=R.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};R.inverseHyperbolicSine=R.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};R.inverseHyperbolicTangent=R.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?k(new o(i),e,t,!0):(o.precision=r=n-i.e,i=V(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};R.inverseSine=R.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=he(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};R.inverseTangent=R.atan=function(){var e,t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,T=g.rounding;if(d.isFinite()){if(d.isZero())return new g(d);if(d.abs().eq(1)&&h+4<=An)return s=he(g,h+4,T).times(.25),s.s=d.s,s}else{if(!d.s)return new g(NaN);if(h+4<=An)return s=he(g,h+4,T).times(.5),s.s=d.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/D+2|0),e=r;e;--e)d=d.div(d.times(d).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/D),n=1,l=d.times(d),s=new g(d),i=d;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};R.isNaN=function(){return!this.s};R.isNegative=R.isNeg=function(){return this.s<0};R.isPositive=R.isPos=function(){return this.s>0};R.isZero=function(){return!!this.d&&this.d[0]===0};R.lessThan=R.lt=function(e){return this.cmp(e)<0};R.lessThanOrEqualTo=R.lte=function(e){return this.cmp(e)<1};R.logarithm=R.log=function(e){var t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,T=g.rounding,I=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=d.d,d.s<0||!r||!r[0]||d.eq(1))return new g(r&&!r[0]?-1/0:d.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+I,s=Oe(d,a),n=t?Pr(g,a+10):Oe(e,a),l=V(s,n,a,1),Rt(l.d,i=h,T))do if(a+=10,s=Oe(d,a),n=t?Pr(g,a+10):Oe(e,a),l=V(s,n,a,1),!o){+z(l.d).slice(i+1,i+15)+1==1e14&&(l=k(l,h+1,0));break}while(Rt(l.d,i+=10,T));return _=!0,k(l,h,T)};R.minus=R.sub=function(e){var t,r,n,i,o,s,a,l,d,g,h,T,I=this,S=I.constructor;if(e=new S(e),!I.d||!e.d)return!I.s||!e.s?e=new S(NaN):I.d?e.s=-e.s:e=new S(e.d||I.s!==e.s?I:NaN),e;if(I.s!=e.s)return e.s=-e.s,I.plus(e);if(d=I.d,T=e.d,a=S.precision,l=S.rounding,!d[0]||!T[0]){if(T[0])e.s=-e.s;else if(d[0])e=new S(I);else return new S(l===3?-0:0);return _?k(e,a,l):e}if(r=X(e.e/D),g=X(I.e/D),d=d.slice(),o=g-r,o){for(h=o<0,h?(t=d,o=-o,s=T.length):(t=T,r=g,s=d.length),n=Math.max(Math.ceil(a/D),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=d.length,s=T.length,h=n0;--n)d[s++]=0;for(n=T.length;n>o;){if(d[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=d.length,i=g.length,s-i<0&&(i=s,r=g,g=d,d=r),t=0;i;)t=(d[--i]=d[i]+g[i]+t)/pe|0,d[i]%=pe;for(t&&(d.unshift(t),++n),s=d.length;d[--s]==0;)d.pop();return e.d=d,e.e=Tr(d,n),_?k(e,a,l):e};R.precision=R.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ke+e);return r.d?(t=mo(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};R.round=function(){var e=this,t=e.constructor;return k(new t(e),e.e+1,t.rounding)};R.sine=R.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+D,n.rounding=1,r=Ll(n,yo(n,r)),n.precision=e,n.rounding=t,k(Pe>2?r.neg():r,e,t,!0)):new n(NaN)};R.squareRoot=R.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,d=s.s,g=s.constructor;if(d!==1||!a||!a[0])return new g(!d||d<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,d=Math.sqrt(+s),d==0||d==1/0?(t=z(a),(t.length+l)%2==0&&(t+="0"),d=Math.sqrt(t),l=X((l+1)/2)-(l<0||l%2),d==1/0?t="5e"+l:(t=d.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(d.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(V(s,o,r+2,1)).times(.5),z(o.d).slice(0,r)===(t=z(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(k(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(k(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,k(n,l,g.rounding,e)};R.tangent=R.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=V(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,k(Pe==2||Pe==4?r.neg():r,e,t,!0)):new n(NaN)};R.times=R.mul=function(e){var t,r,n,i,o,s,a,l,d,g=this,h=g.constructor,T=g.d,I=(e=new h(e)).d;if(e.s*=g.s,!T||!T[0]||!I||!I[0])return new h(!e.s||T&&!T[0]&&!I||I&&!I[0]&&!T?NaN:!T||!I?e.s/0:e.s*0);for(r=X(g.e/D)+X(e.e/D),l=T.length,d=I.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+I[n]*T[i-n-1]+t,o[i--]=a%pe|0,t=a/pe|0;o[i]=(o[i]+t)%pe|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=Tr(o,r),_?k(e,h.precision,h.rounding):e};R.toBinary=function(e,t){return Cn(this,2,e,t)};R.toDecimalPlaces=R.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(ne(e,0,De),t===void 0?t=n.rounding:ne(t,0,8),k(r,e+r.e+1,t))};R.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ye(n,!0):(ne(e,0,De),t===void 0?t=i.rounding:ne(t,0,8),n=k(new i(n),e+1,t),r=ye(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};R.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=ye(i):(ne(e,0,De),t===void 0?t=o.rounding:ne(t,0,8),n=k(new o(i),e+i.e+1,t),r=ye(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};R.toFraction=function(e){var t,r,n,i,o,s,a,l,d,g,h,T,I=this,S=I.d,C=I.constructor;if(!S)return new C(I);if(d=r=new C(1),n=l=new C(0),t=new C(n),o=t.e=mo(S)-I.e-1,s=o%D,t.d[0]=K(10,s<0?D+s:s),e==null)e=o>0?t:d;else{if(a=new C(e),!a.isInt()||a.lt(d))throw Error(ke+a);e=a.gt(t)?o>0?t:d:a}for(_=!1,a=new C(z(S)),g=C.precision,C.precision=o=S.length*D*2;h=V(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=d,d=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=V(e.minus(r),n,0,1,1),l=l.plus(i.times(d)),r=r.plus(i.times(n)),l.s=d.s=I.s,T=V(d,n,o,1).minus(I).abs().cmp(V(l,r,o,1).minus(I).abs())<1?[d,n]:[l,r],C.precision=g,_=!0,T};R.toHexadecimal=R.toHex=function(e,t){return Cn(this,16,e,t)};R.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:ne(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=V(r,e,0,t,1).times(e),_=!0,k(r)):(e.s=r.s,r=e),r};R.toNumber=function(){return+this};R.toOctal=function(e,t){return Cn(this,8,e,t)};R.toPower=R.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,d=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(K(+a,d));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return k(a,n,o);if(t=X(e.e/D),t>=e.d.length-1&&(r=d<0?-d:d)<=Ml)return i=fo(l,a,r,n),e.s<0?new l(1).div(i):k(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=Rn(e.times(Oe(a,n+r)),n),i.d&&(i=k(i,n+5,1),Rt(i.d,n,o)&&(t=n+10,i=k(Rn(e.times(Oe(a,t+r)),t),t+5,1),+z(i.d).slice(n+1,n+15)+1==1e14&&(i=k(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,k(i,n,o))};R.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ye(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ne(e,1,De),t===void 0?t=i.rounding:ne(t,0,8),n=k(new i(n),e,t),r=ye(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};R.toSignificantDigits=R.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(ne(e,1,De),t===void 0?t=n.rounding:ne(t,0,8)),k(new n(r),e,t)};R.toString=function(){var e=this,t=e.constructor,r=ye(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};R.truncated=R.trunc=function(){return k(new this.constructor(this),this.e+1,1)};R.valueOf=R.toJSON=function(){var e=this,t=e.constructor,r=ye(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function z(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(ke+e)}function Rt(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=D,i=0):(i=Math.ceil((t+1)/D),t%=D),o=K(10,D-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==K(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==K(10,t-3)-1,s}function wr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function Nl(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Ar(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=tt(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var V=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var d,g,h,T,I,S,C,M,F,B,O,L,oe,J,Xr,rr,bt,en,ce,nr,ir=n.constructor,tn=n.s==i.s?1:-1,Y=n.d,$=i.d;if(!Y||!Y[0]||!$||!$[0])return new ir(!n.s||!i.s||(Y?$&&Y[0]==$[0]:!$)?NaN:Y&&Y[0]==0||!$?tn*0:tn/0);for(l?(I=1,g=n.e-i.e):(l=pe,I=D,g=X(n.e/I)-X(i.e/I)),ce=$.length,bt=Y.length,F=new ir(tn),B=F.d=[],h=0;$[h]==(Y[h]||0);h++);if($[h]>(Y[h]||0)&&g--,o==null?(J=o=ir.precision,s=ir.rounding):a?J=o+(n.e-i.e)+1:J=o,J<0)B.push(1),S=!0;else{if(J=J/I+2|0,h=0,ce==1){for(T=0,$=$[0],J++;(h1&&($=e($,T,l),Y=e(Y,T,l),ce=$.length,bt=Y.length),rr=ce,O=Y.slice(0,ce),L=O.length;L=l/2&&++en;do T=0,d=t($,O,ce,L),d<0?(oe=O[0],ce!=L&&(oe=oe*l+(O[1]||0)),T=oe/en|0,T>1?(T>=l&&(T=l-1),C=e($,T,l),M=C.length,L=O.length,d=t(C,O,M,L),d==1&&(T--,r(C,ce=10;T/=10)h++;F.e=h+g*I-1,k(F,a?o+F.e+1:o,s,S)}return F}}();function k(e,t,r,n){var i,o,s,a,l,d,g,h,T,I=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=D,s=t,g=h[T=0],l=g/K(10,i-s-1)%10|0;else if(T=Math.ceil((o+1)/D),a=h.length,T>=a)if(n){for(;a++<=T;)h.push(0);g=l=0,i=1,o%=D,s=o-D+1}else break e;else{for(g=a=h[T],i=1;a>=10;a/=10)i++;o%=D,s=o-D+i,l=s<0?0:g/K(10,i-s-1)%10|0}if(n=n||t<0||h[T+1]!==void 0||(s<0?g:g%K(10,i-s-1)),d=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/K(10,i-s):0:h[T-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,d?(t-=e.e+1,h[0]=K(10,(D-t%D)%D),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=T,a=1,T--):(h.length=T+1,a=K(10,D-o),h[T]=s>0?(g/K(10,i-s)%K(10,s)|0)*a:0),d)for(;;)if(T==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==pe&&(h[0]=1));break}else{if(h[T]+=a,h[T]!=pe)break;h[T--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>I.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Ie(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Ie(-i-1)+o,r&&(n=r-s)>0&&(o+=Ie(n))):i>=s?(o+=Ie(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Ie(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Ie(n))),o}function Tr(e,t){var r=e[0];for(t*=D;r>=10;r/=10)t++;return t}function Pr(e,t,r){if(t>_l)throw _=!0,r&&(e.precision=r),Error(lo);return k(new e(br),t,1,!0)}function he(e,t,r){if(t>An)throw Error(lo);return k(new e(xr),t,r,!0)}function mo(e){var t=e.length-1,r=t*D+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Ie(e){for(var t="";e--;)t+="0";return t}function fo(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/D+4);for(_=!1;;){if(r%2&&(o=o.times(t),oo(o.d,s)&&(i=!0)),r=X(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),oo(t.d,s)}return _=!0,o}function io(e){return e.d[e.d.length-1]&1}function go(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new T(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=S):l=t,a=new T(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(K(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new T(1),T.precision=l;;){if(o=k(o.times(e),l,1),r=r.times(++g),a=s.plus(V(o,r,l,1)),z(a.d).slice(0,l)===z(s.d).slice(0,l)){for(i=h;i--;)s=k(s.times(s),l,1);if(t==null)if(d<3&&Rt(s.d,l-n,I,d))T.precision=l+=10,r=o=a=new T(1),g=0,d++;else return k(s,T.precision=S,I,_=!0);else return T.precision=S,s}s=a}}function Oe(e,t){var r,n,i,o,s,a,l,d,g,h,T,I=1,S=10,C=e,M=C.d,F=C.constructor,B=F.rounding,O=F.precision;if(C.s<0||!M||!M[0]||!C.e&&M[0]==1&&M.length==1)return new F(M&&!M[0]?-1/0:C.s!=1?NaN:M?0:C);if(t==null?(_=!1,g=O):g=t,F.precision=g+=S,r=z(M),n=r.charAt(0),Math.abs(o=C.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)C=C.times(e),r=z(C.d),n=r.charAt(0),I++;o=C.e,n>1?(C=new F("0."+r),o++):C=new F(n+"."+r.slice(1))}else return d=Pr(F,g+2,O).times(o+""),C=Oe(new F(n+"."+r.slice(1)),g-S).plus(d),F.precision=O,t==null?k(C,O,B,_=!0):C;for(h=C,l=s=C=V(C.minus(1),C.plus(1),g,1),T=k(C.times(C),g,1),i=3;;){if(s=k(s.times(T),g,1),d=l.plus(V(s,new F(i),g,1)),z(d.d).slice(0,g)===z(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(Pr(F,g+2,O).times(o+""))),l=V(l,new F(I),g,1),t==null)if(Rt(l.d,g-S,B,a))F.precision=g+=S,d=s=C=V(h.minus(1),h.plus(1),g,1),T=k(C.times(C),g,1),i=a=1;else return k(l,F.precision=O,B,_=!0);else return F.precision=O,l;l=d,i+=2}}function ho(e){return String(e.s*e.s/0)}function Er(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%D,r<0&&(n+=D),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),po.test(t))return Er(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(kl.test(t))r=16,t=t.toLowerCase();else if(Ol.test(t))r=2;else if(Dl.test(t))r=8;else throw Error(ke+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=fo(n,new n(r),o,o*2)),d=wr(t,r,pe),g=d.length-1,o=g;d[o]===0;--o)d.pop();return o<0?new n(e.s*0):(e.e=Tr(d,g),e.d=d,_=!1,s&&(e=V(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?K(2,l):ve.pow(2,l))),_=!0,e)}function Ll(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:tt(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Ar(5,r)),t=tt(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function tt(e,t,r,n,i){var o,s,a,l,d=1,g=e.precision,h=Math.ceil(g/D);for(_=!1,l=r.times(r),a=new e(n);;){if(s=V(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=V(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,d++}return _=!0,s.d.length=h+1,s}function Ar(e,t){for(var r=e;--t;)r*=e;return r}function yo(e,t){var r,n=t.s<0,i=he(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Pe=n?4:1,t;if(r=t.divToInt(i),r.isZero())Pe=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return Pe=io(r)?n?2:3:n?4:1,t;Pe=io(r)?n?1:4:n?3:2}return t.minus(i).abs()}function Cn(e,t,r,n){var i,o,s,a,l,d,g,h,T,I=e.constructor,S=r!==void 0;if(S?(ne(r,1,De),n===void 0?n=I.rounding:ne(n,0,8)):(r=I.precision,n=I.rounding),!e.isFinite())g=ho(e);else{for(g=ye(e),s=g.indexOf("."),S?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),T=new I(1),T.e=g.length-s,T.d=wr(ye(T),10,i),T.e=T.d.length),h=wr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=S?"0p+0":"0";else{if(s<0?o--:(e=new I(e),e.d=h,e.e=o,e=V(e,T,r,n,0,i),h=e.d,o=e.e,d=ao),s=h[r],a=i/2,d=d||h[r+1]!==void 0,d=n<4?(s!==void 0||d)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||d||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,d)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=wr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function Ul(e){return new this(e).abs()}function Bl(e){return new this(e).acos()}function ql(e){return new this(e).acosh()}function Vl(e,t){return new this(e).plus(t)}function $l(e){return new this(e).asin()}function jl(e){return new this(e).asinh()}function Gl(e){return new this(e).atan()}function Jl(e){return new this(e).atanh()}function Ql(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=he(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?he(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=he(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(V(e,t,o,1)),t=he(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(V(e,t,o,1)),r}function Kl(e){return new this(e).cbrt()}function Wl(e){return k(e=new this(e),e.e+1,2)}function Hl(e,t,r){return new this(e).clamp(t,r)}function zl(e){if(!e||typeof e!="object")throw Error(vr+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,De,"rounding",0,8,"toExpNeg",-et,0,"toExpPos",0,et,"maxE",0,et,"minE",-et,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(ke+r+": "+n);if(r="crypto",i&&(this[r]=Tn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(uo);else this[r]=!1;else throw Error(ke+r+": "+n);return this}function Yl(e){return new this(e).cos()}function Zl(e){return new this(e).cosh()}function wo(e){var t,r,n;function i(o){var s,a,l,d=this;if(!(d instanceof i))return new i(o);if(d.constructor=i,so(o)){d.s=o.s,_?!o.d||o.e>i.maxE?(d.e=NaN,d.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(d.e=NaN,d.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(uo);else for(;o=10;i/=10)n++;nCt,datamodelEnumToSchemaEnum:()=>vu});f();u();c();p();m();f();u();c();p();m();function vu(e){return{name:e.name,values:e.values.map(t=>t.name)}}f();u();c();p();m();var Ct=(O=>(O.findUnique="findUnique",O.findUniqueOrThrow="findUniqueOrThrow",O.findFirst="findFirst",O.findFirstOrThrow="findFirstOrThrow",O.findMany="findMany",O.create="create",O.createMany="createMany",O.createManyAndReturn="createManyAndReturn",O.update="update",O.updateMany="updateMany",O.updateManyAndReturn="updateManyAndReturn",O.upsert="upsert",O.delete="delete",O.deleteMany="deleteMany",O.groupBy="groupBy",O.count="count",O.aggregate="aggregate",O.findRaw="findRaw",O.aggregateRaw="aggregateRaw",O))(Ct||{});var Tu=Qe(Xi());var Au={red:Ye,gray:Bi,dim:ur,bold:lr,underline:_i,highlightSource:e=>e.highlight()},Ru={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Cu({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function Su({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],l=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${l}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${l}`)),t&&a.push(s.underline(Iu(t))),i){a.push("");let d=[i.toString()];o&&(d.push(o),d.push(s.dim(")"))),a.push(d.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function Iu(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function Cr(e){let t=e.showColors?Au:Ru,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=Cu(e),Su(r,t)}f();u();c();p();m();var Co=Qe(Sn());f();u();c();p();m();function Po(e,t,r){let n=vo(e),i=Ou(n),o=Du(i);o?Sr(o,t,r):t.addErrorMessage(()=>"Unknown error")}function vo(e){return e.errors.flatMap(t=>t.kind==="Union"?vo(t):[t])}function Ou(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:ku(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function ku(e,t){return[...new Set(e.concat(t))]}function Du(e){return xn(e,(t,r)=>{let n=bo(t),i=bo(r);return n!==i?n-i:xo(t)-xo(r)})}function bo(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function xo(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}f();u();c();p();m();var le=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};f();u();c();p();m();f();u();c();p();m();Ao();f();u();c();p();m();var nt=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};To();f();u();c();p();m();f();u();c();p();m();var Ir=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};f();u();c();p();m();var Or=e=>e,kr={bold:Or,red:Or,green:Or,dim:Or,enabled:!1},Ro={bold:lr,red:Ye,green:Ni,dim:ur,enabled:!0},it={write(e){e.writeLine(",")}};f();u();c();p();m();var we=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};f();u();c();p();m();var _e=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var ot=class extends _e{items=[];addItem(t){return this.items.push(new Ir(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new we("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(it,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var st=class e extends _e{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof ot&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new we("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(it,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};f();u();c();p();m();var H=class extends _e{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new we(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};f();u();c();p();m();var St=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(it,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Sr(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":Mu(e,t);break;case"IncludeOnScalar":_u(e,t);break;case"EmptySelection":Nu(e,t,r);break;case"UnknownSelectionField":Bu(e,t);break;case"InvalidSelectionValue":qu(e,t);break;case"UnknownArgument":Vu(e,t);break;case"UnknownInputField":$u(e,t);break;case"RequiredArgumentMissing":ju(e,t);break;case"InvalidArgumentType":Gu(e,t);break;case"InvalidArgumentValue":Ju(e,t);break;case"ValueTooLarge":Qu(e,t);break;case"SomeFieldsMissing":Ku(e,t);break;case"TooManyFieldsGiven":Wu(e,t);break;case"Union":Po(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function Mu(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function _u(e,t){let[r,n]=at(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new le(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${It(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Nu(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Fu(e,t,i);return}if(n.hasField("select")){Lu(e,t);return}}if(r?.[Se(e.outputType.name)]){Uu(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Fu(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new le(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Lu(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),Oo(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${It(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function Uu(e,t){let r=new St;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new le("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=at(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new st;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function Bu(e,t){let r=ko(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":Oo(n,e.outputType);break;case"include":Hu(n,e.outputType);break;case"omit":zu(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(It(n)),i.join(" ")})}function qu(e,t){let r=ko(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function Vu(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Yu(n,e.arguments)),t.addErrorMessage(i=>So(i,r,e.arguments.map(o=>o.name)))}function $u(e,t){let[r,n]=at(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Do(o,e.inputType)}t.addErrorMessage(o=>So(o,n,e.inputType.fields.map(s=>s.name)))}function So(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=Xu(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(It(e)),n.join(" ")}function ju(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=at(e.argumentPath),s=new St,a=n.getDeepFieldValue(i)?.asObject();if(a){if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new le(o,s).makeRequired())}else{let l=e.inputTypes.map(Io).join(" | ");a.addSuggestion(new le(o,l).makeRequired())}if(e.dependentArgumentPath){n.getDeepField(e.dependentArgumentPath)?.markAsError();let[,l]=at(e.dependentArgumentPath);t.addErrorMessage(d=>`Argument \`${d.green(o)}\` is required because argument \`${d.green(l)}\` was provided.`)}}}function Io(e){return e.kind==="list"?`${Io(e.elementType)}[]`:e.name}function Gu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Dr("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function Ju(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Dr("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Qu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function Ku(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Do(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Dr("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(It(i)),o.join(" ")})}function Wu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Dr("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function Oo(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new le(r.name,"true"))}function Hu(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new le(r.name,"true"))}function zu(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new le(r.name,"true"))}function Yu(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new le(r.name,r.typeNames.join(" | ")))}function ko(e,t){let[r,n]=at(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Do(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new le(r.name,r.typeNames.join(" | ")))}function at(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function It({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Dr(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var Zu=3;function Xu(e,t){let r=1/0,n;for(let i of t){let o=(0,Co.default)(e,i);o>Zu||o`}};function lt(e){return e instanceof Ot}f();u();c();p();m();var Mr=Symbol(),On=new WeakMap,Te=class{constructor(t){t===Mr?On.set(this,`Prisma.${this._getName()}`):On.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return On.get(this)}},kt=class extends Te{_getNamespace(){return"NullTypes"}},Dt=class extends kt{#e};Dn(Dt,"DbNull");var Mt=class extends kt{#e};Dn(Mt,"JsonNull");var _t=class extends kt{#e};Dn(_t,"AnyNull");var kn={classes:{DbNull:Dt,JsonNull:Mt,AnyNull:_t},instances:{DbNull:new Dt(Mr),JsonNull:new Mt(Mr),AnyNull:new _t(Mr)}};function Dn(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}f();u();c();p();m();var Mo=": ",_r=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Mo.length}write(t){let r=new we(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Mo).write(this.value)}};var Mn=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function ut(e){return new Mn(_o(e))}function _o(e){let t=new st;for(let[r,n]of Object.entries(e)){let i=new _r(r,No(n));t.addField(i)}return t}function No(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(rt(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=yr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Te?new H(`Prisma.${e._getName()}`):lt(e)?new H(`prisma.${Se(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?ec(e):typeof e=="object"?_o(e):new H(Object.prototype.toString.call(e))}function ec(e){let t=new ot;for(let r of e)t.addItem(No(r));return t}function Nr(e,t){let r=t==="pretty"?Ro:kr,n=e.renderAllMessages(r),i=new nt(0,{colors:r}).write(e).toString();return{message:n,args:i}}function Fr({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=ut(e);for(let h of t)Sr(h,a,s);let{message:l,args:d}=Nr(a,r),g=Cr({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:d});throw new ee(g,{clientVersion:o})}f();u();c();p();m();f();u();c();p();m();function Ee(e){return e.replace(/^./,t=>t.toLowerCase())}f();u();c();p();m();function Lo(e,t,r){let n=Ee(r);return!t.result||!(t.result.$allModels||t.result[n])?e:tc({...e,...Fo(t.name,e,t.result.$allModels),...Fo(t.name,e,t.result[n])})}function tc(e){let t=new ge,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return gr(e,n=>({...n,needs:r(n.name,new Set)}))}function Fo(e,t,r){return r?gr(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:rc(t,o,i)})):{}}function rc(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function Uo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Bo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Lr=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new ge;modelExtensionsCache=new ge;queryCallbacksCache=new ge;clientExtensions=At(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=At(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>Lo(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Ee(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ct=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Lr(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Lr(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};f();u();c();p();m();var Ur=class{constructor(t){this.name=t}};function qo(e){return e instanceof Ur}function nc(e){return new Ur(e)}f();u();c();p();m();f();u();c();p();m();var Vo=Symbol(),Nt=class{constructor(t){if(t!==Vo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?_n:t}},_n=new Nt(Vo);function be(e){return e instanceof Nt}var ic={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},$o="explicitly `undefined` values are not allowed";function Fn({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=ct.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g}){let h=new Nn({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g});return{modelName:e,action:ic[t],query:Ft(r,h)}}function Ft({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Go(r,n),selection:oc(e,t,i,n)}}function oc(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),uc(e,n)):sc(n,t,r)}function sc(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&ac(n,t,e),lc(n,r,e),n}function ac(e,t,r){for(let[n,i]of Object.entries(t)){if(be(i))continue;let o=r.nestSelection(n);if(Ln(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=Ft(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Ft(i,o)}}function lc(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Bo(i,n);for(let[s,a]of Object.entries(o)){if(be(a))continue;Ln(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function uc(e,t){let r={},n=t.getComputedFields(),i=Uo(e,n);for(let[o,s]of Object.entries(i)){if(be(s))continue;let a=t.nestSelection(o);Ln(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||be(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=Ft({},a):r[o]=!0;continue}r[o]=Ft(s,a)}}return r}function jo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(Xe(e)){if(yr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(qo(e))return{$type:"Param",value:e.name};if(lt(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return cc(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(pc(e))return e.values;if(rt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Te){if(e!==kn.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(mc(e))return e.toJSON();if(typeof e=="object")return Go(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Go(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);be(i)||(i!==void 0?r[n]=jo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:$o}))}return r}function cc(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[Se(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Ue(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};f();u();c();p();m();function Jo(e){if(!e._hasPreviewFlag("metrics"))throw new ee("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var Lt=class{_client;constructor(t){this._client=t}prometheus(t){return Jo(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Jo(this._client),this._client._engine.metrics({format:"json",...t})}};f();u();c();p();m();function fc(e,t){let r=At(()=>dc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function dc(e){return{datamodel:{models:Un(e.models),enums:Un(e.enums),types:Un(e.types)}}}function Un(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}f();u();c();p();m();var Bn=new WeakMap,Br="$$PrismaTypedSql",Ut=class{constructor(t,r){Bn.set(this,{sql:t,values:r}),Object.defineProperty(this,Br,{value:Br})}get sql(){return Bn.get(this).sql}get values(){return Bn.get(this).values}};function gc(e){return(...t)=>new Ut(e,t)}function qr(e){return e!=null&&e[Br]===Br}f();u();c();p();m();var ua=Qe(gn());f();u();c();p();m();Qo();Gi();Hi();f();u();c();p();m();var ue=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}f();u();c();p();m();f();u();c();p();m();var $r={enumerable:!0,configurable:!0,writable:!0};function jr(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>$r,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var Ho=Symbol.for("nodejs.util.inspect.custom");function me(e,t){let r=wc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=zo(Reflect.ownKeys(o),r),a=zo(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...$r,...l?.getPropertyDescriptor(s)}:$r:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[Ho]=function(){let o={...this};return delete o[Ho],o},i}function wc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function zo(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}f();u();c();p();m();function pt(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}f();u();c();p();m();function Gr(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}f();u();c();p();m();function Yo(e){if(e===void 0)return"";let t=ut(e);return new nt(0,{colors:kr}).write(t).toString()}f();u();c();p();m();var Ec="P2037";function Jr({error:e,user_facing_error:t},r,n){return t.error_code?new se(bc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new ae(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function bc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===Ec&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var qn=class{getLocation(){return null}};function Ne(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new qn}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Zo={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function mt(e={}){let t=Pc(e);return Object.entries(t).reduce((n,[i,o])=>(Zo[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function Pc(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Qr(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function Xo(e,t){let r=Qr(e);return t({action:"aggregate",unpacker:r,argsMapper:mt})(e)}f();u();c();p();m();function vc(e={}){let{select:t,...r}=e;return typeof t=="object"?mt({...r,_count:t}):mt({...r,_count:{_all:!0}})}function Tc(e={}){return typeof e.select=="object"?t=>Qr(e)(t)._count:t=>Qr(e)(t)._count._all}function es(e,t){return t({action:"count",unpacker:Tc(e),argsMapper:vc})(e)}f();u();c();p();m();function Ac(e={}){let t=mt(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function Rc(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function ts(e,t){return t({action:"groupBy",unpacker:Rc(e),argsMapper:Ac})(e)}function rs(e,t,r){if(t==="aggregate")return n=>Xo(n,r);if(t==="count")return n=>es(n,r);if(t==="groupBy")return n=>ts(n,r)}f();u();c();p();m();function ns(e,t){let r=t.fields.filter(i=>!i.relationName),n=no(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Ot(e,o,s.type,s.isList,s.kind==="enum")},...jr(Object.keys(n))})}f();u();c();p();m();f();u();c();p();m();var is=e=>Array.isArray(e)?e:e.split("."),Vn=(e,t)=>is(t).reduce((r,n)=>r&&r[n],e),os=(e,t,r)=>is(t).reduceRight((n,i,o,s)=>Object.assign({},Vn(e,s.slice(0,o)),{[i]:n}),r);function Cc(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function Sc(e,t,r){return t===void 0?e??{}:os(t,r,e||!0)}function $n(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,d)=>({...l,[d.name]:d}),{});return l=>{let d=Ne(e._errorFormat),g=Cc(n,i),h=Sc(l,o,g),T=r({dataPath:g,callsite:d})(h),I=Ic(e,t);return new Proxy(T,{get(S,C){if(!I.includes(C))return S[C];let F=[a[C].type,r,C],B=[g,h];return $n(e,...F,...B)},...jr([...I,...Object.getOwnPropertyNames(T)])})}}function Ic(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Oc=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],kc=["aggregate","count","groupBy"];function jn(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[Dc(e,t),_c(e,t),Bt(r),te("name",()=>t),te("$name",()=>t),te("$parent",()=>e._appliedParent)];return me({},n)}function Dc(e,t){let r=Ee(t),n=Object.keys(Ct).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let d=Ne(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:d};return e._request({...h,...a})},{action:o,args:l,model:t})};return Oc.includes(o)?$n(e,t,s):Mc(i)?rs(e,i,s):s({})}}}function Mc(e){return kc.includes(e)}function _c(e,t){return Be(te("fields",()=>{let r=e._runtimeDataModel.models[t];return ns(t,r)}))}f();u();c();p();m();function ss(e){return e.replace(/^./,t=>t.toUpperCase())}var Gn=Symbol();function qt(e){let t=[Nc(e),Fc(e),te(Gn,()=>e),te("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(Bt(r)),me(e,t)}function Nc(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function Fc(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Ee),n=[...new Set(t.concat(r))];return Be({getKeys(){return n},getPropertyValue(i){let o=ss(i);if(e._runtimeDataModel.models[o]!==void 0)return jn(e,o);if(e._runtimeDataModel.models[i]!==void 0)return jn(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function as(e){return e[Gn]?e[Gn]:e}function ls(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$on:{value:void 0}});return qt(t)}f();u();c();p();m();f();u();c();p();m();function us({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let d=l.needs.filter(g=>n[g]);d.length>0&&a.push(pt(d))}else if(r){if(!r[l.name])continue;let d=l.needs.filter(g=>!r[g]);d.length>0&&a.push(pt(d))}Lc(e,l.needs)&&s.push(Uc(l,me(e,s)))}return s.length>0||a.length>0?me(e,[...s,...a]):e}function Lc(e,t){return t.every(r=>bn(e,r))}function Uc(e,t){return Be(te(e.name,()=>e.compute(t)))}f();u();c();p();m();function Kr({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let d=typeof s=="object"?s:{};t[o]=Kr({visitor:i,result:t[o],args:d,modelName:l.type,runtimeDataModel:n})}}function ps({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Kr({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,d)=>{let g=Ee(l);return us({result:a,modelName:g,select:d.select,omit:d.select?void 0:{...o?.[g],...d.omit},extensions:n})}})}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Bc=["$connect","$disconnect","$on","$transaction","$extends"],ms=Bc;function fs(e){if(e instanceof ue)return qc(e);if(qr(e))return Vc(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:fs(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=Es(o,l),a.args=s,gs(e,a,r,n+1)}})})}function hs(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return gs(e,t,s)}function ys(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?ws(r,n,0,e):e(r)}}function ws(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=Es(i,l),ws(a,t,r+1,n)}})}var ds=e=>e;function Es(e=ds,t=ds){return r=>e(t(r))}f();u();c();p();m();var bs=Z("prisma:client"),xs={Vercel:"vercel","Netlify CI":"netlify"};function Ps({postinstall:e,ciName:t,clientVersion:r,generator:n}){if(bs("checkPlatformCaching:postinstall",e),bs("checkPlatformCaching:ciName",t),e===!0&&!(n?.output&&typeof(n.output.fromEnvVar??n.output.value)=="string")&&t&&t in xs){let i=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${xs[t]}-build`;throw console.error(i),new Q(i,r)}}f();u();c();p();m();function vs(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();function Ts(e,t){throw new Error(t)}function $c(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function jc(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}function $t(e){return e===null?e:Array.isArray(e)?e.map($t):typeof e=="object"?$c(e)?Gc(e):e.constructor!==null&&e.constructor.name!=="Object"?e:jc(e,$t):e}function Gc({$type:e,value:t}){switch(e){case"BigInt":return BigInt(t);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=w.Buffer.from(t,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(t);case"Decimal":return new ve(t);case"Json":return JSON.parse(t);default:Ts(t,"Unknown tagged value")}}var As="6.19.2";f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Qc=()=>globalThis.process?.release?.name==="node",Kc=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Wc=()=>!!globalThis.Deno,Hc=()=>typeof globalThis.Netlify=="object",zc=()=>typeof globalThis.EdgeRuntime=="object",Yc=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Zc(){return[[Hc,"netlify"],[zc,"edge-light"],[Yc,"workerd"],[Wc,"deno"],[Kc,"bun"],[Qc,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Xc={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Jn(){let e=Zc();return{id:e,prettyName:Xc[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}function ft({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw Jn().id==="workerd"?new Q(`error: Environment variable not found: ${s.fromEnvVar}. + +In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new Q(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new Q("error: Missing URL environment variable, value, or override.",n);return i}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Wr=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var ie=class extends Wr{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};f();u();c();p();m();function U(e,t){return{...e,isRetryable:t}}var qe=class extends ie{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,U(r,!1))}};N(qe,"InvalidDatasourceError");function Rs(e){let t={clientVersion:e.clientVersion},r=Object.keys(e.inlineDatasources)[0],n=ft({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,clientVersion:e.clientVersion,env:{...e.env,...typeof y<"u"?y.env:{}}}),i;try{i=new URL(n)}catch{throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==fr)throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new qe(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);let l=hn(i)?"http:":"https:";y.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR&&i.searchParams.has("use_http")&&(l="http:");let d=new URL(i.href.replace(o,l));return{apiKey:a,url:d}}f();u();c();p();m();var Cs=Qe(zi()),Hr=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,transactionId:r}={}){let n={Accept:"application/json",Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json","Prisma-Engine-Hash":this.engineHash,"Prisma-Engine-Version":Cs.enginesVersion};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-Transaction-Id"]=r);let i=this.#e();return i.length>0&&(n["X-Capture-Telemetry"]=i.join(", ")),n}#e(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}};f();u();c();p();m();function ep(e){return e[0]*1e3+e[1]/1e6}function Qn(e){return new Date(ep(e))}f();u();c();p();m();f();u();c();p();m();var dt=class extends ie{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",U(t,!0))}};N(dt,"ForcedRetryError");f();u();c();p();m();var Ve=class extends ie{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,U(r,!1))}};N(Ve,"NotImplementedYetError");f();u();c();p();m();f();u();c();p();m();var G=class extends ie{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var $e=class extends G{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",U(t,!0))}};N($e,"SchemaMissingError");f();u();c();p();m();f();u();c();p();m();var Kn="This request could not be understood by the server",jt=class extends G{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||Kn,U(t,!1)),n&&(this.code=n)}};N(jt,"BadRequestError");f();u();c();p();m();var Gt=class extends G{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",U(t,!0)),this.logs=r}};N(Gt,"HealthcheckTimeoutError");f();u();c();p();m();var Jt=class extends G{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,U(t,!0)),this.logs=n}};N(Jt,"EngineStartupError");f();u();c();p();m();var Qt=class extends G{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",U(t,!1))}};N(Qt,"EngineVersionNotSupportedError");f();u();c();p();m();var Wn="Request timed out",Kt=class extends G{name="GatewayTimeoutError";code="P5009";constructor(t,r=Wn){super(r,U(t,!1))}};N(Kt,"GatewayTimeoutError");f();u();c();p();m();var tp="Interactive transaction error",Wt=class extends G{name="InteractiveTransactionError";code="P5015";constructor(t,r=tp){super(r,U(t,!1))}};N(Wt,"InteractiveTransactionError");f();u();c();p();m();var rp="Request parameters are invalid",Ht=class extends G{name="InvalidRequestError";code="P5011";constructor(t,r=rp){super(r,U(t,!1))}};N(Ht,"InvalidRequestError");f();u();c();p();m();var Hn="Requested resource does not exist",zt=class extends G{name="NotFoundError";code="P5003";constructor(t,r=Hn){super(r,U(t,!1))}};N(zt,"NotFoundError");f();u();c();p();m();var zn="Unknown server error",gt=class extends G{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||zn,U(t,!0)),this.logs=n}};N(gt,"ServerError");f();u();c();p();m();var Yn="Unauthorized, check your connection string",Yt=class extends G{name="UnauthorizedError";code="P5007";constructor(t,r=Yn){super(r,U(t,!1))}};N(Yt,"UnauthorizedError");f();u();c();p();m();var Zn="Usage exceeded, retry again later",Zt=class extends G{name="UsageExceededError";code="P5008";constructor(t,r=Zn){super(r,U(t,!0))}};N(Zt,"UsageExceededError");async function np(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function Xt(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await np(e);if(n.type==="QueryEngineError")throw new se(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new gt(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new $e(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Qt(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Jt(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new Q(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Gt(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Wt(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Ht(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new Yt(r,ht(Yn,n));if(e.status===404)return new zt(r,ht(Hn,n));if(e.status===429)throw new Zt(r,ht(Zn,n));if(e.status===504)throw new Kt(r,ht(Wn,n));if(e.status>=500)throw new gt(r,ht(zn,n));if(e.status>=400)throw new jt(r,ht(Kn,n))}function ht(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}f();u();c();p();m();function Ss(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}f();u();c();p();m();var Ae="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Is(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,d,g;for(let h=0;h>18,a=(g&258048)>>12,l=(g&4032)>>6,d=g&63,r+=Ae[s]+Ae[a]+Ae[l]+Ae[d];return i==1?(g=t[o],s=(g&252)>>2,a=(g&3)<<4,r+=Ae[s]+Ae[a]+"=="):i==2&&(g=t[o]<<8|t[o+1],s=(g&64512)>>10,a=(g&1008)>>4,l=(g&15)<<2,r+=Ae[s]+Ae[a]+Ae[l]+"="),r}f();u();c();p();m();function Os(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new Q("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}f();u();c();p();m();var ks={"@prisma/debug":"workspace:*","@prisma/engines-version":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};f();u();c();p();m();f();u();c();p();m();var er=class extends ie{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: +${t}`,U(r,!0))}};N(er,"RequestError");async function je(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new er(a,{clientVersion:n,cause:s})}}var op=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Ds=Z("prisma:client:dataproxyEngine");async function sp(e,t){let r=ks["@prisma/engines-version"],n=t.clientVersion??"unknown";if(y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&op.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,l,d]=s.split("."),g=ap(`<=${a}.${l}.${d}`),h=await je(g,{clientVersion:n});if(!h.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${h.status} ${h.statusText}, response body: ${await h.text()||""}`);let T=await h.text();Ds("length of body fetched from unpkg.com",T.length);let I;try{I=JSON.parse(T)}catch(S){throw console.error("JSON.parse error: body fetched from unpkg.com: ",T),S}return I.version}throw new Ve("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Ms(e,t){let r=await sp(e,t);return Ds("version",r),r}function ap(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var _s=3,tr=Z("prisma:client:dataproxyEngine"),yt=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){Os(t),this.config=t,this.env=t.env,this.inlineSchema=Is(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.protocol=r.protocol,this.headerBuilder=new Hr({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel??"error",logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await Ms(this.host,this.config),tr("host",this.host),tr("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":tr(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Qn(r.timestamp),message:r.attributes.message??"",target:r.target??"BinaryEngine"});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Qn(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target??"BinaryEngine"});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}//${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await je(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||tr("schema response status",r.status);let n=await Xt(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Gr(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await je(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,transactionId:i?.id}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||tr("graphql response status",a.status),await this.handleError(await Xt(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await je(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Xt(l,this.clientVersion));let d=await l.json(),{extensions:g}=d;g&&this.propagateResponseExtensions(g);let h=d.id,T=d["data-proxy"].endpoint;return{id:h,payload:{endpoint:T}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await je(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Xt(a,this.clientVersion));let l=await a.json(),{extensions:d}=l;d&&this.propagateResponseExtensions(d);return}}})}getURLAndAPIKey(){return Rs({clientVersion:this.clientVersion,env:this.env,inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources})}metrics(){throw new Ve("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof ie)||!i.isRetryable)throw i;if(r>=_s)throw i instanceof dt?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${_s} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Ss(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof $e)throw await this.uploadSchema(),new dt({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?Jr(t[0],this.config.clientVersion,this.config.activeProvider):new ae(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};f();u();c();p();m();function Ns({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=C=>{i.push({_tag:"warning",value:C})},a=C=>{let M=C.join(` +`);o.push({_tag:"error",value:M})},l=!!e?.startsWith("prisma://"),d=dr(e),g=!!t,h=l||d;!g&&r&&h&&n!=="client"&&n!=="wasm-compiler-edge"&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let T=h||!r;g&&(T||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):h?a(["You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.","Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter."]):r||a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let I={accelerate:T,ppg:d,driverAdapters:g};function S(C){return C.length>0}return S(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:I}:{ok:!0,diagnostics:{warnings:i},isUsing:I}}function Fs({copyEngine:e=!0},t){let r;try{r=ft({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=Ns({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"edge"});for(let h of o.warnings)hr(...h.value);if(!n){let h=o.errors[0];throw new ee(h.value,{clientVersion:t.clientVersion})}let s=Ze(t.generator),a=s==="library",l=s==="binary",d=s==="client",g=(i.accelerate||i.ppg)&&!i.driverAdapters;return i.accelerate?new yt(t):(i.driverAdapters,new yt(t))}f();u();c();p();m();function Ls({generator:e}){return e?.previewFeatures??[]}f();u();c();p();m();var Us=e=>({command:e});f();u();c();p();m();f();u();c();p();m();var Bs=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);f();u();c();p();m();function wt(e){try{return qs(e,"fast")}catch{return qs(e,"slow")}}function qs(e,t){return JSON.stringify(e.map(r=>$s(r,t)))}function $s(e,t){if(Array.isArray(e))return e.map(r=>$s(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(Xe(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(Me.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(lp(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?js(e):e}function lp(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function js(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Vs);let t={};for(let r of Object.keys(e))t[r]=Vs(e[r]);return t}function Vs(e){return typeof e=="bigint"?e.toString():js(e)}var up=/^(\s*alter\s)/i,Gs=Z("prisma:client");function Xn(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&up.exec(t))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var ei=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(qr(r))n=r.sql,i={values:wt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:wt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:wt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:wt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Bs(r),i={values:wt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Gs(`prisma.${e}(${n}, ${i.values})`):Gs(`prisma.${e}(${n})`),{query:n,parameters:i}},Js={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new ue(t,r)}},Qs={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};f();u();c();p();m();function ti(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Ks(r(s)):Ks(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Ks(e){return typeof e.then=="function"?e:Promise.resolve(e)}f();u();c();p();m();var cp=dn.split(".")[0],pp={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},ri=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${cp}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??pp}};function Ws(){return new ri}f();u();c();p();m();function Hs(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}f();u();c();p();m();function zs(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}f();u();c();p();m();f();u();c();p();m();function zr(e){return typeof e.batchRequestIdx=="number"}f();u();c();p();m();function Ys(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(ni(e.query.arguments)),t.push(ni(e.query.selection)),t.join("")}function ni(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${ni(n)})`:r}).join(" ")})`}f();u();c();p();m();var mp={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function ii(e){return mp[e]}f();u();c();p();m();var Yr=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iGe("bigint",r));case"bytes-array":return t.map(r=>Ge("bytes",r));case"decimal-array":return t.map(r=>Ge("decimal",r));case"datetime-array":return t.map(r=>Ge("datetime",r));case"date-array":return t.map(r=>Ge("date",r));case"time-array":return t.map(r=>Ge("time",r));default:return t}}function oi(e){let t=[],r=fp(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),d=n.some(h=>ii(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:gp(o),containsWrite:d,customDataProxyFetch:i})).map((h,T)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[T],h)}catch(I){return I}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?Zs(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:ii(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Ys(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(dp(t),hp(t,i))throw t;if(t instanceof se&&yp(t)){let d=Xs(t.meta);Fr({args:o,errors:[d],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=Cr({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let d=s?{modelName:s,...t.meta}:t.meta;throw new se(l,{code:t.code,clientVersion:this.client._clientVersion,meta:d,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new Ce(l,this.client._clientVersion);if(t instanceof ae)throw new ae(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof Q)throw new Q(l,this.client._clientVersion);if(t instanceof Ce)throw new Ce(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?En(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(d=>d!=="select"&&d!=="include"),a=Vn(o,s),l=i==="queryRaw"?oi(a):$t(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function gp(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:Zs(e)};Ue(e,"Unknown transaction kind")}}function Zs(e){return{id:e.id,payload:e.payload}}function hp(e,t){return zr(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function yp(e){return e.code==="P2009"||e.code==="P2012"}function Xs(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(Xs)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}f();u();c();p();m();var ea=As;f();u();c();p();m();var oa=Qe(Sn());f();u();c();p();m();var q=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};N(q,"PrismaClientConstructorValidationError");var ta=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],ra=["pretty","colorless","minimal"],na=["info","query","warn","error"],wp={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=Et(r,t)||` Available datasources: ${t.join(", ")}`;throw new q(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new q(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&Ze(t.generator)==="client")throw new q('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e!==null){if(e===void 0)throw new q('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(Ze(t.generator)==="binary")throw new q('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')}},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!ra.includes(e)){let t=Et(e,ra);throw new q(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!na.includes(r)){let n=Et(r,na);throw new q(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=Et(i,o);throw new q(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new q(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new q(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new q(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new q('"omit" option is expected to be an object.');if(e===null)throw new q('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=bp(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(d=>d.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new q(xp(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new q(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=Et(r,t);throw new q(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function sa(e,t){for(let[r,n]of Object.entries(e)){if(!ta.includes(r)){let i=Et(r,ta);throw new q(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}wp[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new q('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function Et(e,t){if(t.length===0||typeof e!="string")return"";let r=Ep(e,t);return r?` Did you mean "${r}"?`:""}function Ep(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,oa.default)(e,i)}));r.sort((i,o)=>i.distanceSe(n)===t);if(r)return e[r]}function xp(e,t){let r=ut(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Nr(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}f();u();c();p();m();function aa(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=d=>{o||(o=!0,r(d))};for(let d=0;d{n[d]=g,a()},g=>{if(!zr(g)){l(g);return}g.batchRequestIdx===d?l(g):(i||(i=g),a())})})}var Fe=Z("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Pp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},vp=Symbol.for("prisma.client.transaction.id"),Tp={id:0,nextId(){return++this.id}};function Ap(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=ti();constructor(n){e=n?.__internal?.configOverride?.(e)??e,Ps(e),n&&sa(n,e);let i=new Vr().on("error",()=>{});this._extensions=ct.empty(),this._previewFeatures=Ls(e),this._clientVersion=e.clientVersion??ea,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Ws();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&pr.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&pr.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==l)throw new Q(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new Q("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},d=l.__internal??{},g=d.debug===!0;g&&Z.enable("prisma:client");let h=pr.resolve(e.dirname,e.relativePath);ji.existsSync(h)||(h=e.dirname),Fe("dirname",e.dirname),Fe("relativePath",e.relativePath),Fe("cwd",h);let T=d.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:T.allowTriggerPanic,prismaPath:T.binaryPath??void 0,engineEndpoint:T.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&zs(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(I=>typeof I=="string"?I==="query":I.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:vs(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:ft,getBatchRequestPayload:Gr,prismaGraphQLToJSError:Jr,PrismaClientUnknownRequestError:ae,PrismaClientInitializationError:Q,PrismaClientKnownRequestError:se,debug:Z("prisma:client:accelerateEngine"),engineVersion:ua.version,clientVersion:e.clientVersion}},Fe("clientVersion",e.clientVersion),this._engine=Fs(e,this._engineConfig),this._requestHandler=new Zr(this,i),l.log)for(let I of l.log){let S=typeof I=="string"?I:I.emit==="stdout"?I.level:null;S&&this.$on(S,C=>{Tt.log(`${Tt.tags[S]??""}`,C.message||C.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=qt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{$i()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:ei({clientMethod:i,activeProvider:a}),callsite:Ne(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=la(n,i);return Xn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new ee("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Xn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new ee(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Us,callsite:Ne(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:ei({clientMethod:i,activeProvider:a}),callsite:Ne(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...la(n,i));throw new ee("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new ee("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=Tp.nextId(),s=Hs(n.length),a=n.map((l,d)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:d,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return aa(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let d={kind:"itx",...a};l=await n(this._createItxClient(d)),await this._engine.transaction("commit",o,a)}catch(d){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),d}return l}_createItxClient(n){return me(qt(me(as(this),[te("_appliedParent",()=>this._appliedParent._createItxClient(n)),te("_createPrismaPromise",()=>ti(n)),te(vp,()=>n.id)])),[pt(ms)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Pp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=async l=>{let{runInTransaction:d,args:g,...h}=l,T={...n,...h};g&&(T.args=i.middlewareArgsToRequestArgs(g)),n.transaction!==void 0&&d===!1&&delete T.transaction;let I=await hs(this,T);return T.model?ps({result:I,modelName:T.model,args:T.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):I};return this._tracingHelper.runInChildSpan(s.operation,()=>a(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:d,transaction:g,unpacker:h,otelParentCtx:T,customDataProxyFetch:I}){try{n=d?d(n):n;let S={name:"serialize"},C=this._tracingHelper.runInChildSpan(S,()=>Fn({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return Z.enabled("prisma:client")&&(Fe("Prisma Client call:"),Fe(`prisma.${i}(${Yo(n)})`),Fe("Generated request:"),Fe(JSON.stringify(C,null,2)+` +`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:C,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:T,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:I})}catch(S){throw S.clientVersion=this._clientVersion,S}}$metrics=new Lt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=ls}return t}function la(e,t){return Rp(e)?[new ue(e,t),Js]:[e,Qs]}function Rp(e){return Array.isArray(e)&&Array.isArray(e.raw)}f();u();c();p();m();var Cp=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function Sp(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!Cp.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}f();u();c();p();m();var export_warnEnvConflicts=void 0;export{Rr as DMMF,Z as Debug,Me as Decimal,Ci as Extensions,Lt as MetricsClient,Q as PrismaClientInitializationError,se as PrismaClientKnownRequestError,Ce as PrismaClientRustPanicError,ae as PrismaClientUnknownRequestError,ee as PrismaClientValidationError,Ii as Public,ue as Sql,nc as createParam,fc as defineDmmfProperty,$t as deserializeJsonResponse,oi as deserializeRawResult,Il as dmmfToRuntimeDataModel,yc as empty,Ap as getPrismaClient,Jn as getRuntime,hc as join,Sp as makeStrictEnum,gc as makeTypedQueryFactory,kn as objectEnumValues,Ko as raw,Fn as serializeJsonQuery,_n as skip,Wo as sqltag,export_warnEnvConflicts as warnEnvConflicts,hr as warnOnce}; +//# sourceMappingURL=edge-esm.js.map diff --git a/packages/member-prisma-client/runtime/edge.js b/packages/member-prisma-client/runtime/edge.js new file mode 100644 index 0000000..68de515 --- /dev/null +++ b/packages/member-prisma-client/runtime/edge.js @@ -0,0 +1,35 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +"use strict";var ba=Object.create;var lr=Object.defineProperty;var xa=Object.getOwnPropertyDescriptor;var Pa=Object.getOwnPropertyNames;var va=Object.getPrototypeOf,Ta=Object.prototype.hasOwnProperty;var fe=(e,t)=>()=>(e&&(t=e(e=0)),t);var Je=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),vt=(e,t)=>{for(var r in t)lr(e,r,{get:t[r],enumerable:!0})},ci=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Pa(t))!Ta.call(e,i)&&i!==r&&lr(e,i,{get:()=>t[i],enumerable:!(n=xa(t,i))||n.enumerable});return e};var Qe=(e,t,r)=>(r=e!=null?ba(va(e)):{},ci(t||!e||!e.__esModule?lr(r,"default",{value:e,enumerable:!0}):r,e)),Aa=e=>ci(lr({},"__esModule",{value:!0}),e);var y,b,u=fe(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4},{cwd:b}=y});var x,c=fe(()=>{"use strict";x=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,p=fe(()=>{"use strict";E=()=>{};E.prototype=E});var m=fe(()=>{"use strict"});var Ii=Je(ze=>{"use strict";f();u();c();p();m();var gi=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ra=gi(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=I;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var M=S.indexOf("=");M===-1&&(M=C);var F=M===C?0:4-M%4;return[M,F]}function l(S){var C=a(S),M=C[0],F=C[1];return(M+F)*3/4-F}function d(S,C,M){return(C+M)*3/4-M}function g(S){var C,M=a(S),F=M[0],B=M[1],O=new n(d(S,F,B)),L=0,le=B>0?F-4:F,J;for(J=0;J>16&255,O[L++]=C>>8&255,O[L++]=C&255;return B===2&&(C=r[S.charCodeAt(J)]<<2|r[S.charCodeAt(J+1)]>>4,O[L++]=C&255),B===1&&(C=r[S.charCodeAt(J)]<<10|r[S.charCodeAt(J+1)]<<4|r[S.charCodeAt(J+2)]>>2,O[L++]=C>>8&255,O[L++]=C&255),O}function h(S){return t[S>>18&63]+t[S>>12&63]+t[S>>6&63]+t[S&63]}function T(S,C,M){for(var F,B=[],O=C;Ole?le:L+O));return F===1?(C=S[M-1],B.push(t[C>>2]+t[C<<4&63]+"==")):F===2&&(C=(S[M-2]<<8)+S[M-1],B.push(t[C>>10]+t[C>>4&63]+t[C<<2&63]+"=")),B.join("")}}),Ca=gi(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,d=(1<>1,h=-7,T=n?o-1:0,I=n?-1:1,S=t[r+T];for(T+=I,s=S&(1<<-h)-1,S>>=-h,h+=l;h>0;s=s*256+t[r+T],T+=I,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+T],T+=I,h-=8);if(s===0)s=1-g;else{if(s===d)return a?NaN:(S?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(S?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,d,g=s*8-o-1,h=(1<>1,I=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,S=i?0:s-1,C=i?1:-1,M=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(d=Math.pow(2,-a))<1&&(a--,d*=2),a+T>=1?r+=I/d:r+=I*Math.pow(2,1-T),r*d>=2&&(a++,d/=2),a+T>=h?(l=0,a=h):a+T>=1?(l=(r*d-1)*Math.pow(2,o),a=a+T):(l=r*Math.pow(2,T-1)*Math.pow(2,o),a=0));o>=8;t[n+S]=l&255,S+=C,l/=256,o-=8);for(a=a<0;t[n+S]=a&255,S+=C,a/=256,g-=8);t[n+S-C]|=M*128}}),un=Ra(),We=Ca(),pi=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ze.Buffer=A;ze.SlowBuffer=Ma;ze.INSPECT_MAX_BYTES=50;var ur=2147483647;ze.kMaxLength=ur;A.TYPED_ARRAY_SUPPORT=Sa();!A.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Sa(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(A.prototype,"parent",{enumerable:!0,get:function(){if(A.isBuffer(this))return this.buffer}});Object.defineProperty(A.prototype,"offset",{enumerable:!0,get:function(){if(A.isBuffer(this))return this.byteOffset}});function xe(e){if(e>ur)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,A.prototype),t}function A(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return mn(e)}return hi(e,t,r)}A.poolSize=8192;function hi(e,t,r){if(typeof e=="string")return Oa(e,t);if(ArrayBuffer.isView(e))return ka(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(de(e,ArrayBuffer)||e&&de(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(de(e,SharedArrayBuffer)||e&&de(e.buffer,SharedArrayBuffer)))return wi(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return A.from(n,t,r);let i=Da(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return A.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}A.from=function(e,t,r){return hi(e,t,r)};Object.setPrototypeOf(A.prototype,Uint8Array.prototype);Object.setPrototypeOf(A,Uint8Array);function yi(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Ia(e,t,r){return yi(e),e<=0?xe(e):t!==void 0?typeof r=="string"?xe(e).fill(t,r):xe(e).fill(t):xe(e)}A.alloc=function(e,t,r){return Ia(e,t,r)};function mn(e){return yi(e),xe(e<0?0:fn(e)|0)}A.allocUnsafe=function(e){return mn(e)};A.allocUnsafeSlow=function(e){return mn(e)};function Oa(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!A.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=Ei(e,t)|0,n=xe(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function cn(e){let t=e.length<0?0:fn(e.length)|0,r=xe(t);for(let n=0;n=ur)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ur.toString(16)+" bytes");return e|0}function Ma(e){return+e!=e&&(e=0),A.alloc(+e)}A.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==A.prototype};A.compare=function(e,t){if(de(e,Uint8Array)&&(e=A.from(e,e.offset,e.byteLength)),de(t,Uint8Array)&&(t=A.from(t,t.offset,t.byteLength)),!A.isBuffer(e)||!A.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(A.isBuffer(o)||(o=A.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(A.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function Ei(e,t){if(A.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||de(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return pn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Si(e).length;default:if(i)return n?-1:pn(e).length;t=(""+t).toLowerCase(),i=!0}}A.byteLength=Ei;function _a(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ga(this,t,r);case"utf8":case"utf-8":return xi(this,t,r);case"ascii":return $a(this,t,r);case"latin1":case"binary":return ja(this,t,r);case"base64":return qa(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ja(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}A.prototype._isBuffer=!0;function Le(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}A.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};pi&&(A.prototype[pi]=A.prototype.inspect);A.prototype.compare=function(e,t,r,n,i){if(de(e,Uint8Array)&&(e=A.from(e,e.offset,e.byteLength)),!A.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),d=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,gn(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=A.from(t,n)),A.isBuffer(t))return t.length===0?-1:mi(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):mi(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function mi(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let d;if(i){let g=-1;for(d=r;ds&&(r=s-a),d=r;d>=0;d--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return Na(this,e,t,r);case"utf8":case"utf-8":return Fa(this,e,t,r);case"ascii":case"latin1":case"binary":return La(this,e,t,r);case"base64":return Ua(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ba(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};A.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function qa(e,t,r){return t===0&&r===e.length?un.fromByteArray(e):un.fromByteArray(e.slice(t,r))}function xi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,d,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],d=e[i+2],(l&192)===128&&(d&192)===128&&(h=(o&15)<<12|(l&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],d=e[i+2],g=e[i+3],(l&192)===128&&(d&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(d&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return Va(n)}var fi=4096;function Va(e){let t=e.length;if(t<=fi)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}A.prototype.readUintLE=A.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};A.prototype.readUint8=A.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};A.prototype.readUint16LE=A.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};A.prototype.readUint16BE=A.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};A.prototype.readUint32LE=A.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};A.prototype.readUint32BE=A.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};A.prototype.readBigUInt64LE=Se(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};A.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};A.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};A.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};A.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};A.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};A.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};A.prototype.readBigInt64LE=Se(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),We.read(this,e,!0,23,4)};A.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),We.read(this,e,!1,23,4)};A.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!0,52,8)};A.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!1,52,8)};function re(e,t,r,n,i,o){if(!A.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}A.prototype.writeUintLE=A.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;re(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;re(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};A.prototype.writeUint8=A.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,1,255,0),this[t]=e&255,t+1};A.prototype.writeUint16LE=A.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};A.prototype.writeUint16BE=A.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};A.prototype.writeUint32LE=A.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};A.prototype.writeUint32BE=A.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function Pi(e,t,r,n,i){Ci(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function vi(e,t,r,n,i){Ci(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}A.prototype.writeBigUInt64LE=Se(function(e,t=0){return Pi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});A.prototype.writeBigUInt64BE=Se(function(e,t=0){return vi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});A.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);re(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};A.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);re(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};A.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};A.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};A.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};A.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};A.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||re(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};A.prototype.writeBigInt64LE=Se(function(e,t=0){return Pi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});A.prototype.writeBigInt64BE=Se(function(e,t=0){return vi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ti(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Ai(e,t,r,n,i){return t=+t,r=r>>>0,i||Ti(e,t,r,4,34028234663852886e22,-34028234663852886e22),We.write(e,t,r,n,23,4),r+4}A.prototype.writeFloatLE=function(e,t,r){return Ai(this,e,t,!0,r)};A.prototype.writeFloatBE=function(e,t,r){return Ai(this,e,t,!1,r)};function Ri(e,t,r,n,i){return t=+t,r=r>>>0,i||Ti(e,t,r,8,17976931348623157e292,-17976931348623157e292),We.write(e,t,r,n,52,8),r+8}A.prototype.writeDoubleLE=function(e,t,r){return Ri(this,e,t,!0,r)};A.prototype.writeDoubleBE=function(e,t,r){return Ri(this,e,t,!1,r)};A.prototype.copy=function(e,t,r,n){if(!A.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=di(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=di(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function di(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Qa(e,t,r){He(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&Tt(t,e.length-(r+1))}function Ci(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Ke.ERR_OUT_OF_RANGE("value",a,e)}Qa(n,i,o)}function He(e,t){if(typeof e!="number")throw new Ke.ERR_INVALID_ARG_TYPE(t,"number",e)}function Tt(e,t,r){throw Math.floor(e)!==e?(He(e,r),new Ke.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Ke.ERR_BUFFER_OUT_OF_BOUNDS:new Ke.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Ka=/[^+/0-9A-Za-z-_]/g;function Wa(e){if(e=e.split("=")[0],e=e.trim().replace(Ka,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function pn(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Ha(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function Si(e){return un.toByteArray(Wa(e))}function cr(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function de(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function gn(e){return e!==e}var Ya=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Se(e){return typeof BigInt>"u"?Za:e}function Za(){throw new Error("BigInt not supported")}});var w,f=fe(()=>{"use strict";w=Qe(Ii())});function il(){return!1}function bn(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function ol(){return bn()}function sl(){return[]}function al(e){e(null,[])}function ll(){return""}function ul(){return""}function cl(){}function pl(){}function ml(){}function fl(){}function dl(){}function gl(){}function hl(){}function yl(){}function wl(){return{close:()=>{},on:()=>{},removeAllListeners:()=>{}}}function El(e,t){t(null,bn())}var bl,xl,Qi,Ki=fe(()=>{"use strict";f();u();c();p();m();bl={},xl={existsSync:il,lstatSync:bn,stat:El,statSync:ol,readdirSync:sl,readdir:al,readlinkSync:ll,realpathSync:ul,chmodSync:cl,renameSync:pl,mkdirSync:ml,rmdirSync:fl,rmSync:dl,unlinkSync:gl,watchFile:hl,unwatchFile:yl,watch:wl,promises:bl},Qi=xl});var Wi=Je((df,Pl)=>{Pl.exports={name:"@prisma/internals",version:"6.19.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-engine-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});function Tl(...e){return e.join("/")}function Al(...e){return e.join("/")}function Rl(e){let t=Hi(e),r=zi(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function Hi(e){let t=e.split("/");return t[t.length-1]}function zi(e){return e.split("/").slice(0,-1).join("/")}function Sl(e){let t=e.split("/").filter(i=>i!==""&&i!=="."),r=[];for(let i of t)i===".."?r.pop():r.push(i);let n=r.join("/");return e.startsWith("/")?"/"+n:n}var Yi,Cl,Il,Ol,dr,Zi=fe(()=>{"use strict";f();u();c();p();m();Yi="/",Cl=":";Il={sep:Yi},Ol={basename:Hi,delimiter:Cl,dirname:zi,join:Al,normalize:Sl,parse:Rl,posix:Il,resolve:Tl,sep:Yi},dr=Ol});var Pn=Je((Mf,Ml)=>{Ml.exports={name:"@prisma/engines-version",version:"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"c2990dca591cba766e3b7ef5d9e8a84796e47ab7"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Xi=Je(gr=>{"use strict";f();u();c();p();m();Object.defineProperty(gr,"__esModule",{value:!0});gr.enginesVersion=void 0;gr.enginesVersion=Pn().prisma.enginesVersion});var ro=Je((Qf,to)=>{"use strict";f();u();c();p();m();to.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Nn=Je((Jy,vo)=>{"use strict";f();u();c();p();m();vo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";f();u();c();p();m()});var Io=fe(()=>{"use strict";f();u();c();p();m()});var Jr,Xo=fe(()=>{"use strict";f();u();c();p();m();Jr=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var kp={};vt(kp,{DMMF:()=>Dt,Debug:()=>z,Decimal:()=>Ae,Extensions:()=>hn,MetricsClient:()=>pt,PrismaClientInitializationError:()=>Q,PrismaClientKnownRequestError:()=>ne,PrismaClientRustPanicError:()=>Pe,PrismaClientUnknownRequestError:()=>ie,PrismaClientValidationError:()=>X,Public:()=>yn,Sql:()=>se,createParam:()=>Jo,defineDmmfProperty:()=>Yo,deserializeJsonResponse:()=>dt,deserializeRawResult:()=>nn,dmmfToRuntimeDataModel:()=>ao,empty:()=>ts,getPrismaClient:()=>ya,getRuntime:()=>Zr,join:()=>es,makeStrictEnum:()=>wa,makeTypedQueryFactory:()=>Zo,objectEnumValues:()=>Nr,raw:()=>Gn,serializeJsonQuery:()=>$r,skip:()=>Vr,sqltag:()=>Jn,warnEnvConflicts:()=>void 0,warnOnce:()=>St});module.exports=Aa(kp);f();u();c();p();m();var hn={};vt(hn,{defineExtension:()=>Oi,getExtensionContext:()=>ki});f();u();c();p();m();f();u();c();p();m();function Oi(e){return typeof e=="function"?e:t=>t.$extends(e)}f();u();c();p();m();function ki(e){return e}var yn={};vt(yn,{validator:()=>Di});f();u();c();p();m();f();u();c();p();m();function Di(...e){return t=>t}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var wn,Mi,_i,Ni,Fi=!0;typeof y<"u"&&({FORCE_COLOR:wn,NODE_DISABLE_COLORS:Mi,NO_COLOR:_i,TERM:Ni}=y.env||{},Fi=y.stdout&&y.stdout.isTTY);var Xa={enabled:!Mi&&_i==null&&Ni!=="dumb"&&(wn!=null&&wn!=="0"||Fi)};function j(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!Xa.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var Pm=j(0,0),pr=j(1,22),mr=j(2,22),vm=j(3,23),Li=j(4,24),Tm=j(7,27),Am=j(8,28),Rm=j(9,29),Cm=j(30,39),Ye=j(31,39),Ui=j(32,39),Bi=j(33,39),qi=j(34,39),Sm=j(35,39),Vi=j(36,39),Im=j(37,39),$i=j(90,39),Om=j(90,39),km=j(40,49),Dm=j(41,49),Mm=j(42,49),_m=j(43,49),Nm=j(44,49),Fm=j(45,49),Lm=j(46,49),Um=j(47,49);f();u();c();p();m();var el=100,ji=["green","yellow","blue","magenta","cyan","red"],fr=[],Gi=Date.now(),tl=0,En=typeof y<"u"?y.env:{};globalThis.DEBUG??=En.DEBUG??"";globalThis.DEBUG_COLORS??=En.DEBUG_COLORS?En.DEBUG_COLORS==="true":!0;var At={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function rl(e){let t={color:ji[tl++%ji.length],enabled:At.enabled(e),namespace:e,log:At.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&fr.push([o,...n]),fr.length>el&&fr.shift(),At.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:nl(g)),d=`+${Date.now()-Gi}ms`;Gi=Date.now(),a(o,...l,d)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var z=new Proxy(rl,{get:(e,t)=>At[t],set:(e,t,r)=>At[t]=r});function nl(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function Ji(){fr.length=0}f();u();c();p();m();f();u();c();p();m();var vl=Wi(),xn=vl.version;f();u();c();p();m();function Ze(e){let t=kl();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":Dl())}function kl(){let e=y.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function Dl(){return"library"}f();u();c();p();m();var eo="prisma+postgres",hr=`${eo}:`;function yr(e){return e?.toString().startsWith(`${hr}//`)??!1}function vn(e){if(!yr(e))return!1;let{host:t}=new URL(e);return t.includes("localhost")||t.includes("127.0.0.1")||t.includes("[::1]")}var Ct={};vt(Ct,{error:()=>Fl,info:()=>Nl,log:()=>_l,query:()=>Ll,should:()=>no,tags:()=>Rt,warn:()=>Tn});f();u();c();p();m();var Rt={error:Ye("prisma:error"),warn:Bi("prisma:warn"),info:Vi("prisma:info"),query:qi("prisma:query")},no={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function _l(...e){console.log(...e)}function Tn(e,...t){no.warn()&&console.warn(`${Rt.warn} ${e}`,...t)}function Nl(e,...t){console.info(`${Rt.info} ${e}`,...t)}function Fl(e,...t){console.error(`${Rt.error} ${e}`,...t)}function Ll(e,...t){console.log(`${Rt.query} ${e}`,...t)}f();u();c();p();m();function Ue(e,t){throw new Error(t)}f();u();c();p();m();f();u();c();p();m();function An({onlyFirst:e=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var Ul=An();function Rn(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Ul,"")}f();u();c();p();m();function Cn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}f();u();c();p();m();function wr(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}f();u();c();p();m();function Sn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{io.has(e)||(io.add(e),Tn(t,...r))};var Q=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};N(Q,"PrismaClientInitializationError");f();u();c();p();m();var ne=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};N(ne,"PrismaClientKnownRequestError");f();u();c();p();m();var Pe=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};N(Pe,"PrismaClientRustPanicError");f();u();c();p();m();var ie=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};N(ie,"PrismaClientUnknownRequestError");f();u();c();p();m();var X=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};N(X,"PrismaClientValidationError");f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var ge=class{_map=new Map;get(t){return this._map.get(t)?.value}set(t,r){this._map.set(t,{value:r})}getOrCreate(t,r){let n=this._map.get(t);if(n)return n.value;let i=r();return this.set(t,i),i}};f();u();c();p();m();function Ie(e){return e.substring(0,1).toLowerCase()+e.substring(1)}f();u();c();p();m();function so(e,t){let r={};for(let n of e){let i=n[t];r[i]=n}return r}f();u();c();p();m();function It(e){let t;return{get(){return t||(t={value:e()}),t.value}}}f();u();c();p();m();function ao(e){return{models:In(e.models),enums:In(e.enums),types:In(e.types)}}function In(e){let t={};for(let{name:r,...n}of e)t[r]=n;return t}f();u();c();p();m();function Xe(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function Er(e){return e.toString()!=="Invalid Date"}f();u();c();p();m();f();u();c();p();m();var et=9e15,Me=1e9,On="0123456789abcdef",Pr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",vr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",kn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-et,maxE:et,crypto:!1},po,ve,_=!0,Ar="[DecimalError] ",De=Ar+"Invalid argument: ",mo=Ar+"Precision limit exceeded",fo=Ar+"crypto unavailable",go="[object Decimal]",ee=Math.floor,K=Math.pow,Bl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ql=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Vl=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ho=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,pe=1e7,D=7,$l=9007199254740991,jl=Pr.length-1,Dn=vr.length-1,R={toStringTag:go};R.absoluteValue=R.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),k(e)};R.ceil=function(){return k(new this.constructor(this),this.e+1,2)};R.clampedTo=R.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(De+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};R.comparedTo=R.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,d=e.s;if(!s||!a)return!l||!d?NaN:l!==d?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-d:0;if(l!==d)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};R.cosine=R.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+D,n.rounding=1,r=Gl(n,xo(n,r)),n.precision=e,n.rounding=t,k(ve==2||ve==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};R.cubeRoot=R.cbrt=function(){var e,t,r,n,i,o,s,a,l,d,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*K(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=Y(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=K(r,1/3),e=ee((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),d=l.plus(g),n=V(d.plus(g).times(a),d.plus(l),s+2,1),Y(a.d).slice(0,s)===(r=Y(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(k(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(k(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,k(n,e,h.rounding,t)};R.decimalPlaces=R.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-ee(this.e/D))*D,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};R.dividedBy=R.div=function(e){return V(this,new this.constructor(e))};R.dividedToIntegerBy=R.divToInt=function(e){var t=this,r=t.constructor;return k(V(t,new r(e),0,1,1),r.precision,r.rounding)};R.equals=R.eq=function(e){return this.cmp(e)===0};R.floor=function(){return k(new this.constructor(this),this.e+1,3)};R.greaterThan=R.gt=function(e){return this.cmp(e)>0};R.greaterThanOrEqualTo=R.gte=function(e){var t=this.cmp(e);return t==1||t===0};R.hyperbolicCosine=R.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Cr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=tt(s,1,o.times(t),new s(1),!0);for(var l,d=e,g=new s(8);d--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return k(o,s.precision=r,s.rounding=n,!0)};R.hyperbolicSine=R.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=tt(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Cr(5,e)),i=tt(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),d=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(d))))}return o.precision=t,o.rounding=r,k(i,t,r,!0)};R.hyperbolicTangent=R.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,V(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};R.inverseCosine=R.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?he(t,n,i):new t(0):new t(NaN):e.isZero()?he(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};R.inverseHyperbolicCosine=R.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};R.inverseHyperbolicSine=R.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};R.inverseHyperbolicTangent=R.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?k(new o(i),e,t,!0):(o.precision=r=n-i.e,i=V(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};R.inverseSine=R.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=he(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};R.inverseTangent=R.atan=function(){var e,t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,T=g.rounding;if(d.isFinite()){if(d.isZero())return new g(d);if(d.abs().eq(1)&&h+4<=Dn)return s=he(g,h+4,T).times(.25),s.s=d.s,s}else{if(!d.s)return new g(NaN);if(h+4<=Dn)return s=he(g,h+4,T).times(.5),s.s=d.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/D+2|0),e=r;e;--e)d=d.div(d.times(d).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/D),n=1,l=d.times(d),s=new g(d),i=d;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};R.isNaN=function(){return!this.s};R.isNegative=R.isNeg=function(){return this.s<0};R.isPositive=R.isPos=function(){return this.s>0};R.isZero=function(){return!!this.d&&this.d[0]===0};R.lessThan=R.lt=function(e){return this.cmp(e)<0};R.lessThanOrEqualTo=R.lte=function(e){return this.cmp(e)<1};R.logarithm=R.log=function(e){var t,r,n,i,o,s,a,l,d=this,g=d.constructor,h=g.precision,T=g.rounding,I=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=d.d,d.s<0||!r||!r[0]||d.eq(1))return new g(r&&!r[0]?-1/0:d.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+I,s=ke(d,a),n=t?Tr(g,a+10):ke(e,a),l=V(s,n,a,1),Ot(l.d,i=h,T))do if(a+=10,s=ke(d,a),n=t?Tr(g,a+10):ke(e,a),l=V(s,n,a,1),!o){+Y(l.d).slice(i+1,i+15)+1==1e14&&(l=k(l,h+1,0));break}while(Ot(l.d,i+=10,T));return _=!0,k(l,h,T)};R.minus=R.sub=function(e){var t,r,n,i,o,s,a,l,d,g,h,T,I=this,S=I.constructor;if(e=new S(e),!I.d||!e.d)return!I.s||!e.s?e=new S(NaN):I.d?e.s=-e.s:e=new S(e.d||I.s!==e.s?I:NaN),e;if(I.s!=e.s)return e.s=-e.s,I.plus(e);if(d=I.d,T=e.d,a=S.precision,l=S.rounding,!d[0]||!T[0]){if(T[0])e.s=-e.s;else if(d[0])e=new S(I);else return new S(l===3?-0:0);return _?k(e,a,l):e}if(r=ee(e.e/D),g=ee(I.e/D),d=d.slice(),o=g-r,o){for(h=o<0,h?(t=d,o=-o,s=T.length):(t=T,r=g,s=d.length),n=Math.max(Math.ceil(a/D),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=d.length,s=T.length,h=n0;--n)d[s++]=0;for(n=T.length;n>o;){if(d[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=d.length,i=g.length,s-i<0&&(i=s,r=g,g=d,d=r),t=0;i;)t=(d[--i]=d[i]+g[i]+t)/pe|0,d[i]%=pe;for(t&&(d.unshift(t),++n),s=d.length;d[--s]==0;)d.pop();return e.d=d,e.e=Rr(d,n),_?k(e,a,l):e};R.precision=R.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(De+e);return r.d?(t=yo(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};R.round=function(){var e=this,t=e.constructor;return k(new t(e),e.e+1,t.rounding)};R.sine=R.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+D,n.rounding=1,r=Ql(n,xo(n,r)),n.precision=e,n.rounding=t,k(ve>2?r.neg():r,e,t,!0)):new n(NaN)};R.squareRoot=R.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,d=s.s,g=s.constructor;if(d!==1||!a||!a[0])return new g(!d||d<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,d=Math.sqrt(+s),d==0||d==1/0?(t=Y(a),(t.length+l)%2==0&&(t+="0"),d=Math.sqrt(t),l=ee((l+1)/2)-(l<0||l%2),d==1/0?t="5e"+l:(t=d.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(d.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(V(s,o,r+2,1)).times(.5),Y(o.d).slice(0,r)===(t=Y(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(k(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(k(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,k(n,l,g.rounding,e)};R.tangent=R.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=V(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,k(ve==2||ve==4?r.neg():r,e,t,!0)):new n(NaN)};R.times=R.mul=function(e){var t,r,n,i,o,s,a,l,d,g=this,h=g.constructor,T=g.d,I=(e=new h(e)).d;if(e.s*=g.s,!T||!T[0]||!I||!I[0])return new h(!e.s||T&&!T[0]&&!I||I&&!I[0]&&!T?NaN:!T||!I?e.s/0:e.s*0);for(r=ee(g.e/D)+ee(e.e/D),l=T.length,d=I.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+I[n]*T[i-n-1]+t,o[i--]=a%pe|0,t=a/pe|0;o[i]=(o[i]+t)%pe|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=Rr(o,r),_?k(e,h.precision,h.rounding):e};R.toBinary=function(e,t){return _n(this,2,e,t)};R.toDecimalPlaces=R.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(oe(e,0,Me),t===void 0?t=n.rounding:oe(t,0,8),k(r,e+r.e+1,t))};R.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ye(n,!0):(oe(e,0,Me),t===void 0?t=i.rounding:oe(t,0,8),n=k(new i(n),e+1,t),r=ye(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};R.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=ye(i):(oe(e,0,Me),t===void 0?t=o.rounding:oe(t,0,8),n=k(new o(i),e+i.e+1,t),r=ye(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};R.toFraction=function(e){var t,r,n,i,o,s,a,l,d,g,h,T,I=this,S=I.d,C=I.constructor;if(!S)return new C(I);if(d=r=new C(1),n=l=new C(0),t=new C(n),o=t.e=yo(S)-I.e-1,s=o%D,t.d[0]=K(10,s<0?D+s:s),e==null)e=o>0?t:d;else{if(a=new C(e),!a.isInt()||a.lt(d))throw Error(De+a);e=a.gt(t)?o>0?t:d:a}for(_=!1,a=new C(Y(S)),g=C.precision,C.precision=o=S.length*D*2;h=V(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=d,d=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=V(e.minus(r),n,0,1,1),l=l.plus(i.times(d)),r=r.plus(i.times(n)),l.s=d.s=I.s,T=V(d,n,o,1).minus(I).abs().cmp(V(l,r,o,1).minus(I).abs())<1?[d,n]:[l,r],C.precision=g,_=!0,T};R.toHexadecimal=R.toHex=function(e,t){return _n(this,16,e,t)};R.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:oe(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=V(r,e,0,t,1).times(e),_=!0,k(r)):(e.s=r.s,r=e),r};R.toNumber=function(){return+this};R.toOctal=function(e,t){return _n(this,8,e,t)};R.toPower=R.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,d=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(K(+a,d));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return k(a,n,o);if(t=ee(e.e/D),t>=e.d.length-1&&(r=d<0?-d:d)<=$l)return i=wo(l,a,r,n),e.s<0?new l(1).div(i):k(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=Mn(e.times(ke(a,n+r)),n),i.d&&(i=k(i,n+5,1),Ot(i.d,n,o)&&(t=n+10,i=k(Mn(e.times(ke(a,t+r)),t),t+5,1),+Y(i.d).slice(n+1,n+15)+1==1e14&&(i=k(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,k(i,n,o))};R.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ye(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(oe(e,1,Me),t===void 0?t=i.rounding:oe(t,0,8),n=k(new i(n),e,t),r=ye(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};R.toSignificantDigits=R.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(oe(e,1,Me),t===void 0?t=n.rounding:oe(t,0,8)),k(new n(r),e,t)};R.toString=function(){var e=this,t=e.constructor,r=ye(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};R.truncated=R.trunc=function(){return k(new this.constructor(this),this.e+1,1)};R.valueOf=R.toJSON=function(){var e=this,t=e.constructor,r=ye(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function Y(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(De+e)}function Ot(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=D,i=0):(i=Math.ceil((t+1)/D),t%=D),o=K(10,D-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==K(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==K(10,t-3)-1,s}function br(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function Gl(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Cr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=tt(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var V=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var d,g,h,T,I,S,C,M,F,B,O,L,le,J,sn,or,Pt,an,ce,sr,ar=n.constructor,ln=n.s==i.s?1:-1,Z=n.d,$=i.d;if(!Z||!Z[0]||!$||!$[0])return new ar(!n.s||!i.s||(Z?$&&Z[0]==$[0]:!$)?NaN:Z&&Z[0]==0||!$?ln*0:ln/0);for(l?(I=1,g=n.e-i.e):(l=pe,I=D,g=ee(n.e/I)-ee(i.e/I)),ce=$.length,Pt=Z.length,F=new ar(ln),B=F.d=[],h=0;$[h]==(Z[h]||0);h++);if($[h]>(Z[h]||0)&&g--,o==null?(J=o=ar.precision,s=ar.rounding):a?J=o+(n.e-i.e)+1:J=o,J<0)B.push(1),S=!0;else{if(J=J/I+2|0,h=0,ce==1){for(T=0,$=$[0],J++;(h1&&($=e($,T,l),Z=e(Z,T,l),ce=$.length,Pt=Z.length),or=ce,O=Z.slice(0,ce),L=O.length;L=l/2&&++an;do T=0,d=t($,O,ce,L),d<0?(le=O[0],ce!=L&&(le=le*l+(O[1]||0)),T=le/an|0,T>1?(T>=l&&(T=l-1),C=e($,T,l),M=C.length,L=O.length,d=t(C,O,M,L),d==1&&(T--,r(C,ce=10;T/=10)h++;F.e=h+g*I-1,k(F,a?o+F.e+1:o,s,S)}return F}}();function k(e,t,r,n){var i,o,s,a,l,d,g,h,T,I=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=D,s=t,g=h[T=0],l=g/K(10,i-s-1)%10|0;else if(T=Math.ceil((o+1)/D),a=h.length,T>=a)if(n){for(;a++<=T;)h.push(0);g=l=0,i=1,o%=D,s=o-D+1}else break e;else{for(g=a=h[T],i=1;a>=10;a/=10)i++;o%=D,s=o-D+i,l=s<0?0:g/K(10,i-s-1)%10|0}if(n=n||t<0||h[T+1]!==void 0||(s<0?g:g%K(10,i-s-1)),d=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/K(10,i-s):0:h[T-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,d?(t-=e.e+1,h[0]=K(10,(D-t%D)%D),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=T,a=1,T--):(h.length=T+1,a=K(10,D-o),h[T]=s>0?(g/K(10,i-s)%K(10,s)|0)*a:0),d)for(;;)if(T==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==pe&&(h[0]=1));break}else{if(h[T]+=a,h[T]!=pe)break;h[T--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>I.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Oe(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Oe(-i-1)+o,r&&(n=r-s)>0&&(o+=Oe(n))):i>=s?(o+=Oe(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Oe(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Oe(n))),o}function Rr(e,t){var r=e[0];for(t*=D;r>=10;r/=10)t++;return t}function Tr(e,t,r){if(t>jl)throw _=!0,r&&(e.precision=r),Error(mo);return k(new e(Pr),t,1,!0)}function he(e,t,r){if(t>Dn)throw Error(mo);return k(new e(vr),t,r,!0)}function yo(e){var t=e.length-1,r=t*D+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Oe(e){for(var t="";e--;)t+="0";return t}function wo(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/D+4);for(_=!1;;){if(r%2&&(o=o.times(t),uo(o.d,s)&&(i=!0)),r=ee(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),uo(t.d,s)}return _=!0,o}function lo(e){return e.d[e.d.length-1]&1}function Eo(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new T(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=S):l=t,a=new T(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(K(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new T(1),T.precision=l;;){if(o=k(o.times(e),l,1),r=r.times(++g),a=s.plus(V(o,r,l,1)),Y(a.d).slice(0,l)===Y(s.d).slice(0,l)){for(i=h;i--;)s=k(s.times(s),l,1);if(t==null)if(d<3&&Ot(s.d,l-n,I,d))T.precision=l+=10,r=o=a=new T(1),g=0,d++;else return k(s,T.precision=S,I,_=!0);else return T.precision=S,s}s=a}}function ke(e,t){var r,n,i,o,s,a,l,d,g,h,T,I=1,S=10,C=e,M=C.d,F=C.constructor,B=F.rounding,O=F.precision;if(C.s<0||!M||!M[0]||!C.e&&M[0]==1&&M.length==1)return new F(M&&!M[0]?-1/0:C.s!=1?NaN:M?0:C);if(t==null?(_=!1,g=O):g=t,F.precision=g+=S,r=Y(M),n=r.charAt(0),Math.abs(o=C.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)C=C.times(e),r=Y(C.d),n=r.charAt(0),I++;o=C.e,n>1?(C=new F("0."+r),o++):C=new F(n+"."+r.slice(1))}else return d=Tr(F,g+2,O).times(o+""),C=ke(new F(n+"."+r.slice(1)),g-S).plus(d),F.precision=O,t==null?k(C,O,B,_=!0):C;for(h=C,l=s=C=V(C.minus(1),C.plus(1),g,1),T=k(C.times(C),g,1),i=3;;){if(s=k(s.times(T),g,1),d=l.plus(V(s,new F(i),g,1)),Y(d.d).slice(0,g)===Y(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(Tr(F,g+2,O).times(o+""))),l=V(l,new F(I),g,1),t==null)if(Ot(l.d,g-S,B,a))F.precision=g+=S,d=s=C=V(h.minus(1),h.plus(1),g,1),T=k(C.times(C),g,1),i=a=1;else return k(l,F.precision=O,B,_=!0);else return F.precision=O,l;l=d,i+=2}}function bo(e){return String(e.s*e.s/0)}function xr(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%D,r<0&&(n+=D),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),ho.test(t))return xr(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(ql.test(t))r=16,t=t.toLowerCase();else if(Bl.test(t))r=2;else if(Vl.test(t))r=8;else throw Error(De+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=wo(n,new n(r),o,o*2)),d=br(t,r,pe),g=d.length-1,o=g;d[o]===0;--o)d.pop();return o<0?new n(e.s*0):(e.e=Rr(d,g),e.d=d,_=!1,s&&(e=V(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?K(2,l):Te.pow(2,l))),_=!0,e)}function Ql(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:tt(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Cr(5,r)),t=tt(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function tt(e,t,r,n,i){var o,s,a,l,d=1,g=e.precision,h=Math.ceil(g/D);for(_=!1,l=r.times(r),a=new e(n);;){if(s=V(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=V(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,d++}return _=!0,s.d.length=h+1,s}function Cr(e,t){for(var r=e;--t;)r*=e;return r}function xo(e,t){var r,n=t.s<0,i=he(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return ve=n?4:1,t;if(r=t.divToInt(i),r.isZero())ve=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return ve=lo(r)?n?2:3:n?4:1,t;ve=lo(r)?n?1:4:n?3:2}return t.minus(i).abs()}function _n(e,t,r,n){var i,o,s,a,l,d,g,h,T,I=e.constructor,S=r!==void 0;if(S?(oe(r,1,Me),n===void 0?n=I.rounding:oe(n,0,8)):(r=I.precision,n=I.rounding),!e.isFinite())g=bo(e);else{for(g=ye(e),s=g.indexOf("."),S?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),T=new I(1),T.e=g.length-s,T.d=br(ye(T),10,i),T.e=T.d.length),h=br(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=S?"0p+0":"0";else{if(s<0?o--:(e=new I(e),e.d=h,e.e=o,e=V(e,T,r,n,0,i),h=e.d,o=e.e,d=po),s=h[r],a=i/2,d=d||h[r+1]!==void 0,d=n<4?(s!==void 0||d)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||d||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,d)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=br(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function Kl(e){return new this(e).abs()}function Wl(e){return new this(e).acos()}function Hl(e){return new this(e).acosh()}function zl(e,t){return new this(e).plus(t)}function Yl(e){return new this(e).asin()}function Zl(e){return new this(e).asinh()}function Xl(e){return new this(e).atan()}function eu(e){return new this(e).atanh()}function tu(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=he(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?he(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=he(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(V(e,t,o,1)),t=he(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(V(e,t,o,1)),r}function ru(e){return new this(e).cbrt()}function nu(e){return k(e=new this(e),e.e+1,2)}function iu(e,t,r){return new this(e).clamp(t,r)}function ou(e){if(!e||typeof e!="object")throw Error(Ar+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,Me,"rounding",0,8,"toExpNeg",-et,0,"toExpPos",0,et,"maxE",0,et,"minE",-et,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(De+r+": "+n);if(r="crypto",i&&(this[r]=kn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(fo);else this[r]=!1;else throw Error(De+r+": "+n);return this}function su(e){return new this(e).cos()}function au(e){return new this(e).cosh()}function Po(e){var t,r,n;function i(o){var s,a,l,d=this;if(!(d instanceof i))return new i(o);if(d.constructor=i,co(o)){d.s=o.s,_?!o.d||o.e>i.maxE?(d.e=NaN,d.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(d.e=NaN,d.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(fo);else for(;o=10;i/=10)n++;nkt,datamodelEnumToSchemaEnum:()=>Du});f();u();c();p();m();f();u();c();p();m();function Du(e){return{name:e.name,values:e.values.map(t=>t.name)}}f();u();c();p();m();var kt=(O=>(O.findUnique="findUnique",O.findUniqueOrThrow="findUniqueOrThrow",O.findFirst="findFirst",O.findFirstOrThrow="findFirstOrThrow",O.findMany="findMany",O.create="create",O.createMany="createMany",O.createManyAndReturn="createManyAndReturn",O.update="update",O.updateMany="updateMany",O.updateManyAndReturn="updateManyAndReturn",O.upsert="upsert",O.delete="delete",O.deleteMany="deleteMany",O.groupBy="groupBy",O.count="count",O.aggregate="aggregate",O.findRaw="findRaw",O.aggregateRaw="aggregateRaw",O))(kt||{});var Mu=Qe(ro());var _u={red:Ye,gray:$i,dim:mr,bold:pr,underline:Li,highlightSource:e=>e.highlight()},Nu={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Fu({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function Lu({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],l=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${l}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${l}`)),t&&a.push(s.underline(Uu(t))),i){a.push("");let d=[i.toString()];o&&(d.push(o),d.push(s.dim(")"))),a.push(d.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function Uu(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function Sr(e){let t=e.showColors?_u:Nu,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=Fu(e),Lu(r,t)}f();u();c();p();m();var ko=Qe(Nn());f();u();c();p();m();function Ro(e,t,r){let n=Co(e),i=Bu(n),o=Vu(i);o?Ir(o,t,r):t.addErrorMessage(()=>"Unknown error")}function Co(e){return e.errors.flatMap(t=>t.kind==="Union"?Co(t):[t])}function Bu(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:qu(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function qu(e,t){return[...new Set(e.concat(t))]}function Vu(e){return Sn(e,(t,r)=>{let n=To(t),i=To(r);return n!==i?n-i:Ao(t)-Ao(r)})}function To(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function Ao(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}f();u();c();p();m();var ue=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};f();u();c();p();m();f();u();c();p();m();Io();f();u();c();p();m();var nt=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};So();f();u();c();p();m();f();u();c();p();m();var Or=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};f();u();c();p();m();var kr=e=>e,Dr={bold:kr,red:kr,green:kr,dim:kr,enabled:!1},Oo={bold:pr,red:Ye,green:Ui,dim:mr,enabled:!0},it={write(e){e.writeLine(",")}};f();u();c();p();m();var we=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};f();u();c();p();m();var _e=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var ot=class extends _e{items=[];addItem(t){return this.items.push(new Or(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new we("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(it,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var st=class e extends _e{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof ot&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new we("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(it,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};f();u();c();p();m();var H=class extends _e{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new we(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};f();u();c();p();m();var Mt=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(it,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Ir(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":$u(e,t);break;case"IncludeOnScalar":ju(e,t);break;case"EmptySelection":Gu(e,t,r);break;case"UnknownSelectionField":Wu(e,t);break;case"InvalidSelectionValue":Hu(e,t);break;case"UnknownArgument":zu(e,t);break;case"UnknownInputField":Yu(e,t);break;case"RequiredArgumentMissing":Zu(e,t);break;case"InvalidArgumentType":Xu(e,t);break;case"InvalidArgumentValue":ec(e,t);break;case"ValueTooLarge":tc(e,t);break;case"SomeFieldsMissing":rc(e,t);break;case"TooManyFieldsGiven":nc(e,t);break;case"Union":Ro(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function $u(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function ju(e,t){let[r,n]=at(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ue(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${_t(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Gu(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Ju(e,t,i);return}if(n.hasField("select")){Qu(e,t);return}}if(r?.[Ie(e.outputType.name)]){Ku(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Ju(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new ue(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Qu(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),_o(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${_t(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function Ku(e,t){let r=new Mt;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new ue("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=at(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new st;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function Wu(e,t){let r=No(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":_o(n,e.outputType);break;case"include":ic(n,e.outputType);break;case"omit":oc(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(_t(n)),i.join(" ")})}function Hu(e,t){let r=No(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function zu(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),sc(n,e.arguments)),t.addErrorMessage(i=>Do(i,r,e.arguments.map(o=>o.name)))}function Yu(e,t){let[r,n]=at(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Fo(o,e.inputType)}t.addErrorMessage(o=>Do(o,n,e.inputType.fields.map(s=>s.name)))}function Do(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=lc(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(_t(e)),n.join(" ")}function Zu(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=at(e.argumentPath),s=new Mt,a=n.getDeepFieldValue(i)?.asObject();if(a){if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new ue(o,s).makeRequired())}else{let l=e.inputTypes.map(Mo).join(" | ");a.addSuggestion(new ue(o,l).makeRequired())}if(e.dependentArgumentPath){n.getDeepField(e.dependentArgumentPath)?.markAsError();let[,l]=at(e.dependentArgumentPath);t.addErrorMessage(d=>`Argument \`${d.green(o)}\` is required because argument \`${d.green(l)}\` was provided.`)}}}function Mo(e){return e.kind==="list"?`${Mo(e.elementType)}[]`:e.name}function Xu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Mr("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function ec(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Mr("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function tc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function rc(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Fo(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Mr("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(_t(i)),o.join(" ")})}function nc(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Mr("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function _o(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ue(r.name,"true"))}function ic(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new ue(r.name,"true"))}function oc(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new ue(r.name,"true"))}function sc(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new ue(r.name,r.typeNames.join(" | ")))}function No(e,t){let[r,n]=at(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Fo(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ue(r.name,r.typeNames.join(" | ")))}function at(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function _t({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Mr(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var ac=3;function lc(e,t){let r=1/0,n;for(let i of t){let o=(0,ko.default)(e,i);o>ac||o`}};function lt(e){return e instanceof Nt}f();u();c();p();m();var _r=Symbol(),Ln=new WeakMap,Re=class{constructor(t){t===_r?Ln.set(this,`Prisma.${this._getName()}`):Ln.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Ln.get(this)}},Ft=class extends Re{_getNamespace(){return"NullTypes"}},Lt=class extends Ft{#e};Un(Lt,"DbNull");var Ut=class extends Ft{#e};Un(Ut,"JsonNull");var Bt=class extends Ft{#e};Un(Bt,"AnyNull");var Nr={classes:{DbNull:Lt,JsonNull:Ut,AnyNull:Bt},instances:{DbNull:new Lt(_r),JsonNull:new Ut(_r),AnyNull:new Bt(_r)}};function Un(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}f();u();c();p();m();var Lo=": ",Fr=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Lo.length}write(t){let r=new we(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Lo).write(this.value)}};var Bn=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function ut(e){return new Bn(Uo(e))}function Uo(e){let t=new st;for(let[r,n]of Object.entries(e)){let i=new Fr(r,Bo(n));t.addField(i)}return t}function Bo(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(rt(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=Er(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Re?new H(`Prisma.${e._getName()}`):lt(e)?new H(`prisma.${Ie(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?uc(e):typeof e=="object"?Uo(e):new H(Object.prototype.toString.call(e))}function uc(e){let t=new ot;for(let r of e)t.addItem(Bo(r));return t}function Lr(e,t){let r=t==="pretty"?Oo:Dr,n=e.renderAllMessages(r),i=new nt(0,{colors:r}).write(e).toString();return{message:n,args:i}}function Ur({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=ut(e);for(let h of t)Ir(h,a,s);let{message:l,args:d}=Lr(a,r),g=Sr({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:d});throw new X(g,{clientVersion:o})}f();u();c();p();m();f();u();c();p();m();function Ee(e){return e.replace(/^./,t=>t.toLowerCase())}f();u();c();p();m();function Vo(e,t,r){let n=Ee(r);return!t.result||!(t.result.$allModels||t.result[n])?e:cc({...e,...qo(t.name,e,t.result.$allModels),...qo(t.name,e,t.result[n])})}function cc(e){let t=new ge,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return wr(e,n=>({...n,needs:r(n.name,new Set)}))}function qo(e,t,r){return r?wr(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:pc(t,o,i)})):{}}function pc(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function $o(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function jo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Br=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new ge;modelExtensionsCache=new ge;queryCallbacksCache=new ge;clientExtensions=It(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=It(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>Vo(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Ee(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ct=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Br(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Br(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};f();u();c();p();m();var qr=class{constructor(t){this.name=t}};function Go(e){return e instanceof qr}function Jo(e){return new qr(e)}f();u();c();p();m();f();u();c();p();m();var Qo=Symbol(),qt=class{constructor(t){if(t!==Qo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Vr:t}},Vr=new qt(Qo);function be(e){return e instanceof qt}var mc={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Ko="explicitly `undefined` values are not allowed";function $r({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=ct.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g}){let h=new qn({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:d,globalOmit:g});return{modelName:e,action:mc[t],query:Vt(r,h)}}function Vt({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Ho(r,n),selection:fc(e,t,i,n)}}function fc(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),yc(e,n)):dc(n,t,r)}function dc(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&gc(n,t,e),hc(n,r,e),n}function gc(e,t,r){for(let[n,i]of Object.entries(t)){if(be(i))continue;let o=r.nestSelection(n);if(Vn(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=Vt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Vt(i,o)}}function hc(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=jo(i,n);for(let[s,a]of Object.entries(o)){if(be(a))continue;Vn(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function yc(e,t){let r={},n=t.getComputedFields(),i=$o(e,n);for(let[o,s]of Object.entries(i)){if(be(s))continue;let a=t.nestSelection(o);Vn(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||be(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=Vt({},a):r[o]=!0;continue}r[o]=Vt(s,a)}}return r}function Wo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(Xe(e)){if(Er(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Go(e))return{$type:"Param",value:e.name};if(lt(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return wc(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(Ec(e))return e.values;if(rt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Re){if(e!==Nr.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(bc(e))return e.toJSON();if(typeof e=="object")return Ho(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Ho(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);be(i)||(i!==void 0?r[n]=Wo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:Ko}))}return r}function wc(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[Ie(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Ue(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};f();u();c();p();m();function zo(e){if(!e._hasPreviewFlag("metrics"))throw new X("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var pt=class{_client;constructor(t){this._client=t}prometheus(t){return zo(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return zo(this._client),this._client._engine.metrics({format:"json",...t})}};f();u();c();p();m();function Yo(e,t){let r=It(()=>xc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function xc(e){return{datamodel:{models:$n(e.models),enums:$n(e.enums),types:$n(e.types)}}}function $n(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}f();u();c();p();m();var jn=new WeakMap,jr="$$PrismaTypedSql",$t=class{constructor(t,r){jn.set(this,{sql:t,values:r}),Object.defineProperty(this,jr,{value:jr})}get sql(){return jn.get(this).sql}get values(){return jn.get(this).values}};function Zo(e){return(...t)=>new $t(e,t)}function Gr(e){return e!=null&&e[jr]===jr}f();u();c();p();m();var ha=Qe(Pn());f();u();c();p();m();Xo();Ki();Zi();f();u();c();p();m();var se=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}f();u();c();p();m();f();u();c();p();m();var Qr={enumerable:!0,configurable:!0,writable:!0};function Kr(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Qr,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var rs=Symbol.for("nodejs.util.inspect.custom");function me(e,t){let r=Pc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=ns(Reflect.ownKeys(o),r),a=ns(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...Qr,...l?.getPropertyDescriptor(s)}:Qr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[rs]=function(){let o={...this};return delete o[rs],o},i}function Pc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function ns(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}f();u();c();p();m();function mt(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}f();u();c();p();m();function Wr(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}f();u();c();p();m();function is(e){if(e===void 0)return"";let t=ut(e);return new nt(0,{colors:Dr}).write(t).toString()}f();u();c();p();m();var vc="P2037";function Hr({error:e,user_facing_error:t},r,n){return t.error_code?new ne(Tc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new ie(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function Tc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===vc&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Qn=class{getLocation(){return null}};function Ne(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new Qn}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var os={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function ft(e={}){let t=Rc(e);return Object.entries(t).reduce((n,[i,o])=>(os[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function Rc(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function zr(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function ss(e,t){let r=zr(e);return t({action:"aggregate",unpacker:r,argsMapper:ft})(e)}f();u();c();p();m();function Cc(e={}){let{select:t,...r}=e;return typeof t=="object"?ft({...r,_count:t}):ft({...r,_count:{_all:!0}})}function Sc(e={}){return typeof e.select=="object"?t=>zr(e)(t)._count:t=>zr(e)(t)._count._all}function as(e,t){return t({action:"count",unpacker:Sc(e),argsMapper:Cc})(e)}f();u();c();p();m();function Ic(e={}){let t=ft(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function Oc(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function ls(e,t){return t({action:"groupBy",unpacker:Oc(e),argsMapper:Ic})(e)}function us(e,t,r){if(t==="aggregate")return n=>ss(n,r);if(t==="count")return n=>as(n,r);if(t==="groupBy")return n=>ls(n,r)}f();u();c();p();m();function cs(e,t){let r=t.fields.filter(i=>!i.relationName),n=so(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Nt(e,o,s.type,s.isList,s.kind==="enum")},...Kr(Object.keys(n))})}f();u();c();p();m();f();u();c();p();m();var ps=e=>Array.isArray(e)?e:e.split("."),Kn=(e,t)=>ps(t).reduce((r,n)=>r&&r[n],e),ms=(e,t,r)=>ps(t).reduceRight((n,i,o,s)=>Object.assign({},Kn(e,s.slice(0,o)),{[i]:n}),r);function kc(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function Dc(e,t,r){return t===void 0?e??{}:ms(t,r,e||!0)}function Wn(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,d)=>({...l,[d.name]:d}),{});return l=>{let d=Ne(e._errorFormat),g=kc(n,i),h=Dc(l,o,g),T=r({dataPath:g,callsite:d})(h),I=Mc(e,t);return new Proxy(T,{get(S,C){if(!I.includes(C))return S[C];let F=[a[C].type,r,C],B=[g,h];return Wn(e,...F,...B)},...Kr([...I,...Object.getOwnPropertyNames(T)])})}}function Mc(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var _c=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Nc=["aggregate","count","groupBy"];function Hn(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[Fc(e,t),Uc(e,t),jt(r),te("name",()=>t),te("$name",()=>t),te("$parent",()=>e._appliedParent)];return me({},n)}function Fc(e,t){let r=Ee(t),n=Object.keys(kt).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let d=Ne(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:d};return e._request({...h,...a})},{action:o,args:l,model:t})};return _c.includes(o)?Wn(e,t,s):Lc(i)?us(e,i,s):s({})}}}function Lc(e){return Nc.includes(e)}function Uc(e,t){return Be(te("fields",()=>{let r=e._runtimeDataModel.models[t];return cs(t,r)}))}f();u();c();p();m();function fs(e){return e.replace(/^./,t=>t.toUpperCase())}var zn=Symbol();function Gt(e){let t=[Bc(e),qc(e),te(zn,()=>e),te("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(jt(r)),me(e,t)}function Bc(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function qc(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Ee),n=[...new Set(t.concat(r))];return Be({getKeys(){return n},getPropertyValue(i){let o=fs(i);if(e._runtimeDataModel.models[o]!==void 0)return Hn(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Hn(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function ds(e){return e[zn]?e[zn]:e}function gs(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$on:{value:void 0}});return Gt(t)}f();u();c();p();m();f();u();c();p();m();function hs({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let d=l.needs.filter(g=>n[g]);d.length>0&&a.push(mt(d))}else if(r){if(!r[l.name])continue;let d=l.needs.filter(g=>!r[g]);d.length>0&&a.push(mt(d))}Vc(e,l.needs)&&s.push($c(l,me(e,s)))}return s.length>0||a.length>0?me(e,[...s,...a]):e}function Vc(e,t){return t.every(r=>Cn(e,r))}function $c(e,t){return Be(te(e.name,()=>e.compute(t)))}f();u();c();p();m();function Yr({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let d=typeof s=="object"?s:{};t[o]=Yr({visitor:i,result:t[o],args:d,modelName:l.type,runtimeDataModel:n})}}function ws({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Yr({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,d)=>{let g=Ee(l);return hs({result:a,modelName:g,select:d.select,omit:d.select?void 0:{...o?.[g],...d.omit},extensions:n})}})}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var jc=["$connect","$disconnect","$on","$transaction","$extends"],Es=jc;function bs(e){if(e instanceof se)return Gc(e);if(Gr(e))return Jc(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:bs(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=Rs(o,l),a.args=s,Ps(e,a,r,n+1)}})})}function vs(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return Ps(e,t,s)}function Ts(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?As(r,n,0,e):e(r)}}function As(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=Rs(i,l),As(a,t,r+1,n)}})}var xs=e=>e;function Rs(e=xs,t=xs){return r=>e(t(r))}f();u();c();p();m();var Cs=z("prisma:client"),Ss={Vercel:"vercel","Netlify CI":"netlify"};function Is({postinstall:e,ciName:t,clientVersion:r,generator:n}){if(Cs("checkPlatformCaching:postinstall",e),Cs("checkPlatformCaching:ciName",t),e===!0&&!(n?.output&&typeof(n.output.fromEnvVar??n.output.value)=="string")&&t&&t in Ss){let i=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${Ss[t]}-build`;throw console.error(i),new Q(i,r)}}f();u();c();p();m();function Os(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();function ks(e,t){throw new Error(t)}function Qc(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function Kc(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}function dt(e){return e===null?e:Array.isArray(e)?e.map(dt):typeof e=="object"?Qc(e)?Wc(e):e.constructor!==null&&e.constructor.name!=="Object"?e:Kc(e,dt):e}function Wc({$type:e,value:t}){switch(e){case"BigInt":return BigInt(t);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=w.Buffer.from(t,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(t);case"Decimal":return new Te(t);case"Json":return JSON.parse(t);default:ks(t,"Unknown tagged value")}}var Ds="6.19.2";f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var zc=()=>globalThis.process?.release?.name==="node",Yc=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Zc=()=>!!globalThis.Deno,Xc=()=>typeof globalThis.Netlify=="object",ep=()=>typeof globalThis.EdgeRuntime=="object",tp=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function rp(){return[[Xc,"netlify"],[ep,"edge-light"],[tp,"workerd"],[Zc,"deno"],[Yc,"bun"],[zc,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var np={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Zr(){let e=rp();return{id:e,prettyName:np[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}function gt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw Zr().id==="workerd"?new Q(`error: Environment variable not found: ${s.fromEnvVar}. + +In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new Q(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new Q("error: Missing URL environment variable, value, or override.",n);return i}f();u();c();p();m();f();u();c();p();m();f();u();c();p();m();var Xr=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var ae=class extends Xr{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};f();u();c();p();m();function U(e,t){return{...e,isRetryable:t}}var qe=class extends ae{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,U(r,!1))}};N(qe,"InvalidDatasourceError");function Ms(e){let t={clientVersion:e.clientVersion},r=Object.keys(e.inlineDatasources)[0],n=gt({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,clientVersion:e.clientVersion,env:{...e.env,...typeof y<"u"?y.env:{}}}),i;try{i=new URL(n)}catch{throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==hr)throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new qe(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);let l=vn(i)?"http:":"https:";y.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR&&i.searchParams.has("use_http")&&(l="http:");let d=new URL(i.href.replace(o,l));return{apiKey:a,url:d}}f();u();c();p();m();var _s=Qe(Xi()),en=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,transactionId:r}={}){let n={Accept:"application/json",Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json","Prisma-Engine-Hash":this.engineHash,"Prisma-Engine-Version":_s.enginesVersion};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-Transaction-Id"]=r);let i=this.#e();return i.length>0&&(n["X-Capture-Telemetry"]=i.join(", ")),n}#e(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}};f();u();c();p();m();function ip(e){return e[0]*1e3+e[1]/1e6}function Yn(e){return new Date(ip(e))}f();u();c();p();m();f();u();c();p();m();var ht=class extends ae{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",U(t,!0))}};N(ht,"ForcedRetryError");f();u();c();p();m();var Ve=class extends ae{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,U(r,!1))}};N(Ve,"NotImplementedYetError");f();u();c();p();m();f();u();c();p();m();var G=class extends ae{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var $e=class extends G{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",U(t,!0))}};N($e,"SchemaMissingError");f();u();c();p();m();f();u();c();p();m();var Zn="This request could not be understood by the server",Qt=class extends G{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||Zn,U(t,!1)),n&&(this.code=n)}};N(Qt,"BadRequestError");f();u();c();p();m();var Kt=class extends G{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",U(t,!0)),this.logs=r}};N(Kt,"HealthcheckTimeoutError");f();u();c();p();m();var Wt=class extends G{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,U(t,!0)),this.logs=n}};N(Wt,"EngineStartupError");f();u();c();p();m();var Ht=class extends G{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",U(t,!1))}};N(Ht,"EngineVersionNotSupportedError");f();u();c();p();m();var Xn="Request timed out",zt=class extends G{name="GatewayTimeoutError";code="P5009";constructor(t,r=Xn){super(r,U(t,!1))}};N(zt,"GatewayTimeoutError");f();u();c();p();m();var op="Interactive transaction error",Yt=class extends G{name="InteractiveTransactionError";code="P5015";constructor(t,r=op){super(r,U(t,!1))}};N(Yt,"InteractiveTransactionError");f();u();c();p();m();var sp="Request parameters are invalid",Zt=class extends G{name="InvalidRequestError";code="P5011";constructor(t,r=sp){super(r,U(t,!1))}};N(Zt,"InvalidRequestError");f();u();c();p();m();var ei="Requested resource does not exist",Xt=class extends G{name="NotFoundError";code="P5003";constructor(t,r=ei){super(r,U(t,!1))}};N(Xt,"NotFoundError");f();u();c();p();m();var ti="Unknown server error",yt=class extends G{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||ti,U(t,!0)),this.logs=n}};N(yt,"ServerError");f();u();c();p();m();var ri="Unauthorized, check your connection string",er=class extends G{name="UnauthorizedError";code="P5007";constructor(t,r=ri){super(r,U(t,!1))}};N(er,"UnauthorizedError");f();u();c();p();m();var ni="Usage exceeded, retry again later",tr=class extends G{name="UsageExceededError";code="P5008";constructor(t,r=ni){super(r,U(t,!0))}};N(tr,"UsageExceededError");async function ap(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function rr(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await ap(e);if(n.type==="QueryEngineError")throw new ne(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new yt(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new $e(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Ht(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Wt(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new Q(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Kt(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Yt(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Zt(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new er(r,wt(ri,n));if(e.status===404)return new Xt(r,wt(ei,n));if(e.status===429)throw new tr(r,wt(ni,n));if(e.status===504)throw new zt(r,wt(Xn,n));if(e.status>=500)throw new yt(r,wt(ti,n));if(e.status>=400)throw new Qt(r,wt(Zn,n))}function wt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}f();u();c();p();m();function Ns(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}f();u();c();p();m();var Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Fs(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,d,g;for(let h=0;h>18,a=(g&258048)>>12,l=(g&4032)>>6,d=g&63,r+=Ce[s]+Ce[a]+Ce[l]+Ce[d];return i==1?(g=t[o],s=(g&252)>>2,a=(g&3)<<4,r+=Ce[s]+Ce[a]+"=="):i==2&&(g=t[o]<<8|t[o+1],s=(g&64512)>>10,a=(g&1008)>>4,l=(g&15)<<2,r+=Ce[s]+Ce[a]+Ce[l]+"="),r}f();u();c();p();m();function Ls(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new Q("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}f();u();c();p();m();var Us={"@prisma/debug":"workspace:*","@prisma/engines-version":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};f();u();c();p();m();f();u();c();p();m();var nr=class extends ae{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: +${t}`,U(r,!0))}};N(nr,"RequestError");async function je(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new nr(a,{clientVersion:n,cause:s})}}var up=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Bs=z("prisma:client:dataproxyEngine");async function cp(e,t){let r=Us["@prisma/engines-version"],n=t.clientVersion??"unknown";if(y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&up.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,l,d]=s.split("."),g=pp(`<=${a}.${l}.${d}`),h=await je(g,{clientVersion:n});if(!h.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${h.status} ${h.statusText}, response body: ${await h.text()||""}`);let T=await h.text();Bs("length of body fetched from unpkg.com",T.length);let I;try{I=JSON.parse(T)}catch(S){throw console.error("JSON.parse error: body fetched from unpkg.com: ",T),S}return I.version}throw new Ve("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function qs(e,t){let r=await cp(e,t);return Bs("version",r),r}function pp(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Vs=3,ir=z("prisma:client:dataproxyEngine"),Et=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){Ls(t),this.config=t,this.env=t.env,this.inlineSchema=Fs(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.protocol=r.protocol,this.headerBuilder=new en({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel??"error",logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await qs(this.host,this.config),ir("host",this.host),ir("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":ir(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Yn(r.timestamp),message:r.attributes.message??"",target:r.target??"BinaryEngine"});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Yn(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target??"BinaryEngine"});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}//${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await je(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||ir("schema response status",r.status);let n=await rr(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Wr(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await je(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,transactionId:i?.id}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||ir("graphql response status",a.status),await this.handleError(await rr(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await je(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await rr(l,this.clientVersion));let d=await l.json(),{extensions:g}=d;g&&this.propagateResponseExtensions(g);let h=d.id,T=d["data-proxy"].endpoint;return{id:h,payload:{endpoint:T}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await je(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await rr(a,this.clientVersion));let l=await a.json(),{extensions:d}=l;d&&this.propagateResponseExtensions(d);return}}})}getURLAndAPIKey(){return Ms({clientVersion:this.clientVersion,env:this.env,inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources})}metrics(){throw new Ve("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof ae)||!i.isRetryable)throw i;if(r>=Vs)throw i instanceof ht?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Vs} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Ns(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof $e)throw await this.uploadSchema(),new ht({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?Hr(t[0],this.config.clientVersion,this.config.activeProvider):new ie(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};f();u();c();p();m();function $s({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=C=>{i.push({_tag:"warning",value:C})},a=C=>{let M=C.join(` +`);o.push({_tag:"error",value:M})},l=!!e?.startsWith("prisma://"),d=yr(e),g=!!t,h=l||d;!g&&r&&h&&n!=="client"&&n!=="wasm-compiler-edge"&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let T=h||!r;g&&(T||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):h?a(["You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.","Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter."]):r||a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let I={accelerate:T,ppg:d,driverAdapters:g};function S(C){return C.length>0}return S(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:I}:{ok:!0,diagnostics:{warnings:i},isUsing:I}}function js({copyEngine:e=!0},t){let r;try{r=gt({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=$s({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"edge"});for(let h of o.warnings)St(...h.value);if(!n){let h=o.errors[0];throw new X(h.value,{clientVersion:t.clientVersion})}let s=Ze(t.generator),a=s==="library",l=s==="binary",d=s==="client",g=(i.accelerate||i.ppg)&&!i.driverAdapters;return i.accelerate?new Et(t):(i.driverAdapters,new Et(t))}f();u();c();p();m();function Gs({generator:e}){return e?.previewFeatures??[]}f();u();c();p();m();var Js=e=>({command:e});f();u();c();p();m();f();u();c();p();m();var Qs=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);f();u();c();p();m();function bt(e){try{return Ks(e,"fast")}catch{return Ks(e,"slow")}}function Ks(e,t){return JSON.stringify(e.map(r=>Hs(r,t)))}function Hs(e,t){if(Array.isArray(e))return e.map(r=>Hs(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(Xe(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(Ae.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(mp(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?zs(e):e}function mp(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function zs(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Ws);let t={};for(let r of Object.keys(e))t[r]=Ws(e[r]);return t}function Ws(e){return typeof e=="bigint"?e.toString():zs(e)}var fp=/^(\s*alter\s)/i,Ys=z("prisma:client");function ii(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&fp.exec(t))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var oi=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Gr(r))n=r.sql,i={values:bt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:bt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:bt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:bt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Qs(r),i={values:bt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Ys(`prisma.${e}(${n}, ${i.values})`):Ys(`prisma.${e}(${n})`),{query:n,parameters:i}},Zs={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new se(t,r)}},Xs={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};f();u();c();p();m();function si(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=ea(r(s)):ea(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function ea(e){return typeof e.then=="function"?e:Promise.resolve(e)}f();u();c();p();m();var dp=xn.split(".")[0],gp={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},ai=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${dp}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??gp}};function ta(){return new ai}f();u();c();p();m();function ra(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}f();u();c();p();m();function na(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}f();u();c();p();m();f();u();c();p();m();function tn(e){return typeof e.batchRequestIdx=="number"}f();u();c();p();m();function ia(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(li(e.query.arguments)),t.push(li(e.query.selection)),t.join("")}function li(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${li(n)})`:r}).join(" ")})`}f();u();c();p();m();var hp={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function ui(e){return hp[e]}f();u();c();p();m();var rn=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iGe("bigint",r));case"bytes-array":return t.map(r=>Ge("bytes",r));case"decimal-array":return t.map(r=>Ge("decimal",r));case"datetime-array":return t.map(r=>Ge("datetime",r));case"date-array":return t.map(r=>Ge("date",r));case"time-array":return t.map(r=>Ge("time",r));default:return t}}function nn(e){let t=[],r=yp(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),d=n.some(h=>ui(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:Ep(o),containsWrite:d,customDataProxyFetch:i})).map((h,T)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[T],h)}catch(I){return I}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?oa(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:ui(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:ia(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(wp(t),bp(t,i))throw t;if(t instanceof ne&&xp(t)){let d=sa(t.meta);Ur({args:o,errors:[d],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=Sr({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let d=s?{modelName:s,...t.meta}:t.meta;throw new ne(l,{code:t.code,clientVersion:this.client._clientVersion,meta:d,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new Pe(l,this.client._clientVersion);if(t instanceof ie)throw new ie(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof Q)throw new Q(l,this.client._clientVersion);if(t instanceof Pe)throw new Pe(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?Rn(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(d=>d!=="select"&&d!=="include"),a=Kn(o,s),l=i==="queryRaw"?nn(a):dt(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function Ep(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:oa(e)};Ue(e,"Unknown transaction kind")}}function oa(e){return{id:e.id,payload:e.payload}}function bp(e,t){return tn(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function xp(e){return e.code==="P2009"||e.code==="P2012"}function sa(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(sa)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}f();u();c();p();m();var aa=Ds;f();u();c();p();m();var ma=Qe(Nn());f();u();c();p();m();var q=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};N(q,"PrismaClientConstructorValidationError");var la=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],ua=["pretty","colorless","minimal"],ca=["info","query","warn","error"],Pp={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=xt(r,t)||` Available datasources: ${t.join(", ")}`;throw new q(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new q(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&Ze(t.generator)==="client")throw new q('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e!==null){if(e===void 0)throw new q('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(Ze(t.generator)==="binary")throw new q('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')}},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!ua.includes(e)){let t=xt(e,ua);throw new q(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!ca.includes(r)){let n=xt(r,ca);throw new q(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=xt(i,o);throw new q(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new q(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new q(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new q(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new q('"omit" option is expected to be an object.');if(e===null)throw new q('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=Tp(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(d=>d.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new q(Ap(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new q(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=xt(r,t);throw new q(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function fa(e,t){for(let[r,n]of Object.entries(e)){if(!la.includes(r)){let i=xt(r,la);throw new q(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}Pp[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new q('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function xt(e,t){if(t.length===0||typeof e!="string")return"";let r=vp(e,t);return r?` Did you mean "${r}"?`:""}function vp(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,ma.default)(e,i)}));r.sort((i,o)=>i.distanceIe(n)===t);if(r)return e[r]}function Ap(e,t){let r=ut(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Lr(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}f();u();c();p();m();function da(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=d=>{o||(o=!0,r(d))};for(let d=0;d{n[d]=g,a()},g=>{if(!tn(g)){l(g);return}g.batchRequestIdx===d?l(g):(i||(i=g),a())})})}var Fe=z("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Rp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},Cp=Symbol.for("prisma.client.transaction.id"),Sp={id:0,nextId(){return++this.id}};function ya(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=si();constructor(n){e=n?.__internal?.configOverride?.(e)??e,Is(e),n&&fa(n,e);let i=new Jr().on("error",()=>{});this._extensions=ct.empty(),this._previewFeatures=Gs(e),this._clientVersion=e.clientVersion??aa,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=ta();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&dr.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&dr.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==l)throw new Q(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new Q("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},d=l.__internal??{},g=d.debug===!0;g&&z.enable("prisma:client");let h=dr.resolve(e.dirname,e.relativePath);Qi.existsSync(h)||(h=e.dirname),Fe("dirname",e.dirname),Fe("relativePath",e.relativePath),Fe("cwd",h);let T=d.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:T.allowTriggerPanic,prismaPath:T.binaryPath??void 0,engineEndpoint:T.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&na(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(I=>typeof I=="string"?I==="query":I.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Os(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:gt,getBatchRequestPayload:Wr,prismaGraphQLToJSError:Hr,PrismaClientUnknownRequestError:ie,PrismaClientInitializationError:Q,PrismaClientKnownRequestError:ne,debug:z("prisma:client:accelerateEngine"),engineVersion:ha.version,clientVersion:e.clientVersion}},Fe("clientVersion",e.clientVersion),this._engine=js(e,this._engineConfig),this._requestHandler=new on(this,i),l.log)for(let I of l.log){let S=typeof I=="string"?I:I.emit==="stdout"?I.level:null;S&&this.$on(S,C=>{Ct.log(`${Ct.tags[S]??""}`,C.message||C.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Gt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Ji()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:oi({clientMethod:i,activeProvider:a}),callsite:Ne(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=ga(n,i);return ii(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new X("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(ii(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new X(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Js,callsite:Ne(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:oi({clientMethod:i,activeProvider:a}),callsite:Ne(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...ga(n,i));throw new X("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new X("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=Sp.nextId(),s=ra(n.length),a=n.map((l,d)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:d,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return da(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let d={kind:"itx",...a};l=await n(this._createItxClient(d)),await this._engine.transaction("commit",o,a)}catch(d){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),d}return l}_createItxClient(n){return me(Gt(me(ds(this),[te("_appliedParent",()=>this._appliedParent._createItxClient(n)),te("_createPrismaPromise",()=>si(n)),te(Cp,()=>n.id)])),[mt(Es)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Rp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=async l=>{let{runInTransaction:d,args:g,...h}=l,T={...n,...h};g&&(T.args=i.middlewareArgsToRequestArgs(g)),n.transaction!==void 0&&d===!1&&delete T.transaction;let I=await vs(this,T);return T.model?ws({result:I,modelName:T.model,args:T.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):I};return this._tracingHelper.runInChildSpan(s.operation,()=>a(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:d,transaction:g,unpacker:h,otelParentCtx:T,customDataProxyFetch:I}){try{n=d?d(n):n;let S={name:"serialize"},C=this._tracingHelper.runInChildSpan(S,()=>$r({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return z.enabled("prisma:client")&&(Fe("Prisma Client call:"),Fe(`prisma.${i}(${is(n)})`),Fe("Generated request:"),Fe(JSON.stringify(C,null,2)+` +`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:C,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:T,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:I})}catch(S){throw S.clientVersion=this._clientVersion,S}}$metrics=new pt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=gs}return t}function ga(e,t){return Ip(e)?[new se(e,t),Zs]:[e,Xs]}function Ip(e){return Array.isArray(e)&&Array.isArray(e.raw)}f();u();c();p();m();var Op=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function wa(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!Op.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}f();u();c();p();m();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +//# sourceMappingURL=edge.js.map diff --git a/packages/member-prisma-client/runtime/index-browser.d.ts b/packages/member-prisma-client/runtime/index-browser.d.ts new file mode 100644 index 0000000..0e96e4b --- /dev/null +++ b/packages/member-prisma-client/runtime/index-browser.d.ts @@ -0,0 +1,370 @@ +declare class AnyNull extends NullTypesEnumValue { + #private; +} + +declare type Args = T extends { + [K: symbol]: { + types: { + operations: { + [K in F]: { + args: any; + }; + }; + }; + }; +} ? T[symbol]['types']['operations'][F]['args'] : any; + +declare class DbNull extends NullTypesEnumValue { + #private; +} + +export declare function Decimal(n: Decimal.Value): Decimal; + +export declare namespace Decimal { + export type Constructor = typeof Decimal; + export type Instance = Decimal; + export type Rounding = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8; + export type Modulo = Rounding | 9; + export type Value = string | number | Decimal; + + // http://mikemcl.github.io/decimal.js/#constructor-properties + export interface Config { + precision?: number; + rounding?: Rounding; + toExpNeg?: number; + toExpPos?: number; + minE?: number; + maxE?: number; + crypto?: boolean; + modulo?: Modulo; + defaults?: boolean; + } +} + +export declare class Decimal { + readonly d: number[]; + readonly e: number; + readonly s: number; + + constructor(n: Decimal.Value); + + absoluteValue(): Decimal; + abs(): Decimal; + + ceil(): Decimal; + + clampedTo(min: Decimal.Value, max: Decimal.Value): Decimal; + clamp(min: Decimal.Value, max: Decimal.Value): Decimal; + + comparedTo(n: Decimal.Value): number; + cmp(n: Decimal.Value): number; + + cosine(): Decimal; + cos(): Decimal; + + cubeRoot(): Decimal; + cbrt(): Decimal; + + decimalPlaces(): number; + dp(): number; + + dividedBy(n: Decimal.Value): Decimal; + div(n: Decimal.Value): Decimal; + + dividedToIntegerBy(n: Decimal.Value): Decimal; + divToInt(n: Decimal.Value): Decimal; + + equals(n: Decimal.Value): boolean; + eq(n: Decimal.Value): boolean; + + floor(): Decimal; + + greaterThan(n: Decimal.Value): boolean; + gt(n: Decimal.Value): boolean; + + greaterThanOrEqualTo(n: Decimal.Value): boolean; + gte(n: Decimal.Value): boolean; + + hyperbolicCosine(): Decimal; + cosh(): Decimal; + + hyperbolicSine(): Decimal; + sinh(): Decimal; + + hyperbolicTangent(): Decimal; + tanh(): Decimal; + + inverseCosine(): Decimal; + acos(): Decimal; + + inverseHyperbolicCosine(): Decimal; + acosh(): Decimal; + + inverseHyperbolicSine(): Decimal; + asinh(): Decimal; + + inverseHyperbolicTangent(): Decimal; + atanh(): Decimal; + + inverseSine(): Decimal; + asin(): Decimal; + + inverseTangent(): Decimal; + atan(): Decimal; + + isFinite(): boolean; + + isInteger(): boolean; + isInt(): boolean; + + isNaN(): boolean; + + isNegative(): boolean; + isNeg(): boolean; + + isPositive(): boolean; + isPos(): boolean; + + isZero(): boolean; + + lessThan(n: Decimal.Value): boolean; + lt(n: Decimal.Value): boolean; + + lessThanOrEqualTo(n: Decimal.Value): boolean; + lte(n: Decimal.Value): boolean; + + logarithm(n?: Decimal.Value): Decimal; + log(n?: Decimal.Value): Decimal; + + minus(n: Decimal.Value): Decimal; + sub(n: Decimal.Value): Decimal; + + modulo(n: Decimal.Value): Decimal; + mod(n: Decimal.Value): Decimal; + + naturalExponential(): Decimal; + exp(): Decimal; + + naturalLogarithm(): Decimal; + ln(): Decimal; + + negated(): Decimal; + neg(): Decimal; + + plus(n: Decimal.Value): Decimal; + add(n: Decimal.Value): Decimal; + + precision(includeZeros?: boolean): number; + sd(includeZeros?: boolean): number; + + round(): Decimal; + + sine() : Decimal; + sin() : Decimal; + + squareRoot(): Decimal; + sqrt(): Decimal; + + tangent() : Decimal; + tan() : Decimal; + + times(n: Decimal.Value): Decimal; + mul(n: Decimal.Value) : Decimal; + + toBinary(significantDigits?: number): string; + toBinary(significantDigits: number, rounding: Decimal.Rounding): string; + + toDecimalPlaces(decimalPlaces?: number): Decimal; + toDecimalPlaces(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; + toDP(decimalPlaces?: number): Decimal; + toDP(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; + + toExponential(decimalPlaces?: number): string; + toExponential(decimalPlaces: number, rounding: Decimal.Rounding): string; + + toFixed(decimalPlaces?: number): string; + toFixed(decimalPlaces: number, rounding: Decimal.Rounding): string; + + toFraction(max_denominator?: Decimal.Value): Decimal[]; + + toHexadecimal(significantDigits?: number): string; + toHexadecimal(significantDigits: number, rounding: Decimal.Rounding): string; + toHex(significantDigits?: number): string; + toHex(significantDigits: number, rounding?: Decimal.Rounding): string; + + toJSON(): string; + + toNearest(n: Decimal.Value, rounding?: Decimal.Rounding): Decimal; + + toNumber(): number; + + toOctal(significantDigits?: number): string; + toOctal(significantDigits: number, rounding: Decimal.Rounding): string; + + toPower(n: Decimal.Value): Decimal; + pow(n: Decimal.Value): Decimal; + + toPrecision(significantDigits?: number): string; + toPrecision(significantDigits: number, rounding: Decimal.Rounding): string; + + toSignificantDigits(significantDigits?: number): Decimal; + toSignificantDigits(significantDigits: number, rounding: Decimal.Rounding): Decimal; + toSD(significantDigits?: number): Decimal; + toSD(significantDigits: number, rounding: Decimal.Rounding): Decimal; + + toString(): string; + + truncated(): Decimal; + trunc(): Decimal; + + valueOf(): string; + + static abs(n: Decimal.Value): Decimal; + static acos(n: Decimal.Value): Decimal; + static acosh(n: Decimal.Value): Decimal; + static add(x: Decimal.Value, y: Decimal.Value): Decimal; + static asin(n: Decimal.Value): Decimal; + static asinh(n: Decimal.Value): Decimal; + static atan(n: Decimal.Value): Decimal; + static atanh(n: Decimal.Value): Decimal; + static atan2(y: Decimal.Value, x: Decimal.Value): Decimal; + static cbrt(n: Decimal.Value): Decimal; + static ceil(n: Decimal.Value): Decimal; + static clamp(n: Decimal.Value, min: Decimal.Value, max: Decimal.Value): Decimal; + static clone(object?: Decimal.Config): Decimal.Constructor; + static config(object: Decimal.Config): Decimal.Constructor; + static cos(n: Decimal.Value): Decimal; + static cosh(n: Decimal.Value): Decimal; + static div(x: Decimal.Value, y: Decimal.Value): Decimal; + static exp(n: Decimal.Value): Decimal; + static floor(n: Decimal.Value): Decimal; + static hypot(...n: Decimal.Value[]): Decimal; + static isDecimal(object: any): object is Decimal; + static ln(n: Decimal.Value): Decimal; + static log(n: Decimal.Value, base?: Decimal.Value): Decimal; + static log2(n: Decimal.Value): Decimal; + static log10(n: Decimal.Value): Decimal; + static max(...n: Decimal.Value[]): Decimal; + static min(...n: Decimal.Value[]): Decimal; + static mod(x: Decimal.Value, y: Decimal.Value): Decimal; + static mul(x: Decimal.Value, y: Decimal.Value): Decimal; + static noConflict(): Decimal.Constructor; // Browser only + static pow(base: Decimal.Value, exponent: Decimal.Value): Decimal; + static random(significantDigits?: number): Decimal; + static round(n: Decimal.Value): Decimal; + static set(object: Decimal.Config): Decimal.Constructor; + static sign(n: Decimal.Value): number; + static sin(n: Decimal.Value): Decimal; + static sinh(n: Decimal.Value): Decimal; + static sqrt(n: Decimal.Value): Decimal; + static sub(x: Decimal.Value, y: Decimal.Value): Decimal; + static sum(...n: Decimal.Value[]): Decimal; + static tan(n: Decimal.Value): Decimal; + static tanh(n: Decimal.Value): Decimal; + static trunc(n: Decimal.Value): Decimal; + + static readonly default?: Decimal.Constructor; + static readonly Decimal?: Decimal.Constructor; + + static readonly precision: number; + static readonly rounding: Decimal.Rounding; + static readonly toExpNeg: number; + static readonly toExpPos: number; + static readonly minE: number; + static readonly maxE: number; + static readonly crypto: boolean; + static readonly modulo: Decimal.Modulo; + + static readonly ROUND_UP: 0; + static readonly ROUND_DOWN: 1; + static readonly ROUND_CEIL: 2; + static readonly ROUND_FLOOR: 3; + static readonly ROUND_HALF_UP: 4; + static readonly ROUND_HALF_DOWN: 5; + static readonly ROUND_HALF_EVEN: 6; + static readonly ROUND_HALF_CEIL: 7; + static readonly ROUND_HALF_FLOOR: 8; + static readonly EUCLID: 9; +} + +declare type Exact = (A extends unknown ? (W extends A ? { + [K in keyof A]: Exact; +} : W) : never) | (A extends Narrowable ? A : never); + +export declare function getRuntime(): GetRuntimeOutput; + +declare type GetRuntimeOutput = { + id: RuntimeName; + prettyName: string; + isEdge: boolean; +}; + +declare class JsonNull extends NullTypesEnumValue { + #private; +} + +/** + * Generates more strict variant of an enum which, unlike regular enum, + * throws on non-existing property access. This can be useful in following situations: + * - we have an API, that accepts both `undefined` and `SomeEnumType` as an input + * - enum values are generated dynamically from DMMF. + * + * In that case, if using normal enums and no compile-time typechecking, using non-existing property + * will result in `undefined` value being used, which will be accepted. Using strict enum + * in this case will help to have a runtime exception, telling you that you are probably doing something wrong. + * + * Note: if you need to check for existence of a value in the enum you can still use either + * `in` operator or `hasOwnProperty` function. + * + * @param definition + * @returns + */ +export declare function makeStrictEnum>(definition: T): T; + +declare type Narrowable = string | number | bigint | boolean | []; + +declare class NullTypesEnumValue extends ObjectEnumValue { + _getNamespace(): string; +} + +/** + * Base class for unique values of object-valued enums. + */ +declare abstract class ObjectEnumValue { + constructor(arg?: symbol); + abstract _getNamespace(): string; + _getName(): string; + toString(): string; +} + +export declare const objectEnumValues: { + classes: { + DbNull: typeof DbNull; + JsonNull: typeof JsonNull; + AnyNull: typeof AnyNull; + }; + instances: { + DbNull: DbNull; + JsonNull: JsonNull; + AnyNull: AnyNull; + }; +}; + +declare type Operation = 'findFirst' | 'findFirstOrThrow' | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'aggregate' | 'count' | 'groupBy' | '$queryRaw' | '$executeRaw' | '$queryRawUnsafe' | '$executeRawUnsafe' | 'findRaw' | 'aggregateRaw' | '$runCommandRaw'; + +declare namespace Public { + export { + validator + } +} +export { Public } + +declare type RuntimeName = 'workerd' | 'deno' | 'netlify' | 'node' | 'bun' | 'edge-light' | ''; + +declare function validator(): (select: Exact) => S; + +declare function validator, O extends keyof C[M] & Operation>(client: C, model: M, operation: O): (select: Exact>) => S; + +declare function validator, O extends keyof C[M] & Operation, P extends keyof Args>(client: C, model: M, operation: O, prop: P): (select: Exact[P]>) => S; + +export { } diff --git a/packages/member-prisma-client/runtime/index-browser.js b/packages/member-prisma-client/runtime/index-browser.js new file mode 100644 index 0000000..086502f --- /dev/null +++ b/packages/member-prisma-client/runtime/index-browser.js @@ -0,0 +1,17 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +"use strict";var pe=Object.defineProperty;var Xe=Object.getOwnPropertyDescriptor;var Ke=Object.getOwnPropertyNames;var Qe=Object.prototype.hasOwnProperty;var Ye=e=>{throw TypeError(e)};var Oe=(e,n)=>{for(var i in n)pe(e,i,{get:n[i],enumerable:!0})},xe=(e,n,i,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of Ke(n))!Qe.call(e,r)&&r!==i&&pe(e,r,{get:()=>n[r],enumerable:!(t=Xe(n,r))||t.enumerable});return e};var ze=e=>xe(pe({},"__esModule",{value:!0}),e);var ne=(e,n,i)=>n.has(e)?Ye("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,i);var ii={};Oe(ii,{Decimal:()=>Je,Public:()=>ge,getRuntime:()=>_e,makeStrictEnum:()=>qe,objectEnumValues:()=>Ae});module.exports=ze(ii);var ge={};Oe(ge,{validator:()=>Re});function Re(...e){return n=>n}var ie=Symbol(),me=new WeakMap,we=class{constructor(n){n===ie?me.set(this,"Prisma.".concat(this._getName())):me.set(this,"new Prisma.".concat(this._getNamespace(),".").concat(this._getName(),"()"))}_getName(){return this.constructor.name}toString(){return me.get(this)}},G=class extends we{_getNamespace(){return"NullTypes"}},Ne,J=class extends G{constructor(){super(...arguments);ne(this,Ne)}};Ne=new WeakMap;ke(J,"DbNull");var ve,X=class extends G{constructor(){super(...arguments);ne(this,ve)}};ve=new WeakMap;ke(X,"JsonNull");var Ee,K=class extends G{constructor(){super(...arguments);ne(this,Ee)}};Ee=new WeakMap;ke(K,"AnyNull");var Ae={classes:{DbNull:J,JsonNull:X,AnyNull:K},instances:{DbNull:new J(ie),JsonNull:new X(ie),AnyNull:new K(ie)}};function ke(e,n){Object.defineProperty(e,"name",{value:n,configurable:!0})}var ye=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function qe(e){return new Proxy(e,{get(n,i){if(i in n)return n[i];if(!ye.has(i))throw new TypeError("Invalid enum value: ".concat(String(i)))}})}var en=()=>{var e,n;return((n=(e=globalThis.process)==null?void 0:e.release)==null?void 0:n.name)==="node"},nn=()=>{var e,n;return!!globalThis.Bun||!!((n=(e=globalThis.process)==null?void 0:e.versions)!=null&&n.bun)},tn=()=>!!globalThis.Deno,rn=()=>typeof globalThis.Netlify=="object",sn=()=>typeof globalThis.EdgeRuntime=="object",on=()=>{var e;return((e=globalThis.navigator)==null?void 0:e.userAgent)==="Cloudflare-Workers"};function un(){var i;return(i=[[rn,"netlify"],[sn,"edge-light"],[on,"workerd"],[tn,"deno"],[nn,"bun"],[en,"node"]].flatMap(t=>t[0]()?[t[1]]:[]).at(0))!=null?i:""}var fn={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function _e(){let e=un();return{id:e,prettyName:fn[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}var V=9e15,H=1e9,Se="0123456789abcdef",se="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",oe="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Me={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-V,maxE:V,crypto:!1},Le,Z,w=!0,fe="[DecimalError] ",$=fe+"Invalid argument: ",Ie=fe+"Precision limit exceeded",Ze=fe+"crypto unavailable",Ue="[object Decimal]",R=Math.floor,C=Math.pow,cn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ln=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,an=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Be=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,D=1e7,m=7,dn=9007199254740991,hn=se.length-1,Ce=oe.length-1,h={toStringTag:Ue};h.absoluteValue=h.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),p(e)};h.ceil=function(){return p(new this.constructor(this),this.e+1,2)};h.clampedTo=h.clamp=function(e,n){var i,t=this,r=t.constructor;if(e=new r(e),n=new r(n),!e.s||!n.s)return new r(NaN);if(e.gt(n))throw Error($+n);return i=t.cmp(e),i<0?e:t.cmp(n)>0?n:new r(t)};h.comparedTo=h.cmp=function(e){var n,i,t,r,s=this,o=s.d,u=(e=new s.constructor(e)).d,c=s.s,f=e.s;if(!o||!u)return!c||!f?NaN:c!==f?c:o===u?0:!o^c<0?1:-1;if(!o[0]||!u[0])return o[0]?c:u[0]?-f:0;if(c!==f)return c;if(s.e!==e.e)return s.e>e.e^c<0?1:-1;for(t=o.length,r=u.length,n=0,i=tu[n]^c<0?1:-1;return t===r?0:t>r^c<0?1:-1};h.cosine=h.cos=function(){var e,n,i=this,t=i.constructor;return i.d?i.d[0]?(e=t.precision,n=t.rounding,t.precision=e+Math.max(i.e,i.sd())+m,t.rounding=1,i=pn(t,We(t,i)),t.precision=e,t.rounding=n,p(Z==2||Z==3?i.neg():i,e,n,!0)):new t(1):new t(NaN)};h.cubeRoot=h.cbrt=function(){var e,n,i,t,r,s,o,u,c,f,l=this,a=l.constructor;if(!l.isFinite()||l.isZero())return new a(l);for(w=!1,s=l.s*C(l.s*l,1/3),!s||Math.abs(s)==1/0?(i=b(l.d),e=l.e,(s=(e-i.length+1)%3)&&(i+=s==1||s==-2?"0":"00"),s=C(i,1/3),e=R((e+1)/3)-(e%3==(e<0?-1:2)),s==1/0?i="5e"+e:(i=s.toExponential(),i=i.slice(0,i.indexOf("e")+1)+e),t=new a(i),t.s=l.s):t=new a(s.toString()),o=(e=a.precision)+3;;)if(u=t,c=u.times(u).times(u),f=c.plus(l),t=k(f.plus(l).times(u),f.plus(c),o+2,1),b(u.d).slice(0,o)===(i=b(t.d)).slice(0,o))if(i=i.slice(o-3,o+1),i=="9999"||!r&&i=="4999"){if(!r&&(p(u,e+1,0),u.times(u).times(u).eq(l))){t=u;break}o+=4,r=1}else{(!+i||!+i.slice(1)&&i.charAt(0)=="5")&&(p(t,e+1,1),n=!t.times(t).times(t).eq(l));break}return w=!0,p(t,e,a.rounding,n)};h.decimalPlaces=h.dp=function(){var e,n=this.d,i=NaN;if(n){if(e=n.length-1,i=(e-R(this.e/m))*m,e=n[e],e)for(;e%10==0;e/=10)i--;i<0&&(i=0)}return i};h.dividedBy=h.div=function(e){return k(this,new this.constructor(e))};h.dividedToIntegerBy=h.divToInt=function(e){var n=this,i=n.constructor;return p(k(n,new i(e),0,1,1),i.precision,i.rounding)};h.equals=h.eq=function(e){return this.cmp(e)===0};h.floor=function(){return p(new this.constructor(this),this.e+1,3)};h.greaterThan=h.gt=function(e){return this.cmp(e)>0};h.greaterThanOrEqualTo=h.gte=function(e){var n=this.cmp(e);return n==1||n===0};h.hyperbolicCosine=h.cosh=function(){var e,n,i,t,r,s=this,o=s.constructor,u=new o(1);if(!s.isFinite())return new o(s.s?1/0:NaN);if(s.isZero())return u;i=o.precision,t=o.rounding,o.precision=i+Math.max(s.e,s.sd())+4,o.rounding=1,r=s.d.length,r<32?(e=Math.ceil(r/3),n=(1/le(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),s=j(o,1,s.times(n),new o(1),!0);for(var c,f=e,l=new o(8);f--;)c=s.times(s),s=u.minus(c.times(l.minus(c.times(l))));return p(s,o.precision=i,o.rounding=t,!0)};h.hyperbolicSine=h.sinh=function(){var e,n,i,t,r=this,s=r.constructor;if(!r.isFinite()||r.isZero())return new s(r);if(n=s.precision,i=s.rounding,s.precision=n+Math.max(r.e,r.sd())+4,s.rounding=1,t=r.d.length,t<3)r=j(s,2,r,r,!0);else{e=1.4*Math.sqrt(t),e=e>16?16:e|0,r=r.times(1/le(5,e)),r=j(s,2,r,r,!0);for(var o,u=new s(5),c=new s(16),f=new s(20);e--;)o=r.times(r),r=r.times(u.plus(o.times(c.times(o).plus(f))))}return s.precision=n,s.rounding=i,p(r,n,i,!0)};h.hyperbolicTangent=h.tanh=function(){var e,n,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(e=t.precision,n=t.rounding,t.precision=e+7,t.rounding=1,k(i.sinh(),i.cosh(),t.precision=e,t.rounding=n)):new t(i.s)};h.inverseCosine=h.acos=function(){var e=this,n=e.constructor,i=e.abs().cmp(1),t=n.precision,r=n.rounding;return i!==-1?i===0?e.isNeg()?F(n,t,r):new n(0):new n(NaN):e.isZero()?F(n,t+4,r).times(.5):(n.precision=t+6,n.rounding=1,e=new n(1).minus(e).div(e.plus(1)).sqrt().atan(),n.precision=t,n.rounding=r,e.times(2))};h.inverseHyperbolicCosine=h.acosh=function(){var e,n,i=this,t=i.constructor;return i.lte(1)?new t(i.eq(1)?0:NaN):i.isFinite()?(e=t.precision,n=t.rounding,t.precision=e+Math.max(Math.abs(i.e),i.sd())+4,t.rounding=1,w=!1,i=i.times(i).minus(1).sqrt().plus(i),w=!0,t.precision=e,t.rounding=n,i.ln()):new t(i)};h.inverseHyperbolicSine=h.asinh=function(){var e,n,i=this,t=i.constructor;return!i.isFinite()||i.isZero()?new t(i):(e=t.precision,n=t.rounding,t.precision=e+2*Math.max(Math.abs(i.e),i.sd())+6,t.rounding=1,w=!1,i=i.times(i).plus(1).sqrt().plus(i),w=!0,t.precision=e,t.rounding=n,i.ln())};h.inverseHyperbolicTangent=h.atanh=function(){var e,n,i,t,r=this,s=r.constructor;return r.isFinite()?r.e>=0?new s(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(e=s.precision,n=s.rounding,t=r.sd(),Math.max(t,e)<2*-r.e-1?p(new s(r),e,n,!0):(s.precision=i=t-r.e,r=k(r.plus(1),new s(1).minus(r),i+e,1),s.precision=e+4,s.rounding=1,r=r.ln(),s.precision=e,s.rounding=n,r.times(.5))):new s(NaN)};h.inverseSine=h.asin=function(){var e,n,i,t,r=this,s=r.constructor;return r.isZero()?new s(r):(n=r.abs().cmp(1),i=s.precision,t=s.rounding,n!==-1?n===0?(e=F(s,i+4,t).times(.5),e.s=r.s,e):new s(NaN):(s.precision=i+6,s.rounding=1,r=r.div(new s(1).minus(r.times(r)).sqrt().plus(1)).atan(),s.precision=i,s.rounding=t,r.times(2)))};h.inverseTangent=h.atan=function(){var e,n,i,t,r,s,o,u,c,f=this,l=f.constructor,a=l.precision,d=l.rounding;if(f.isFinite()){if(f.isZero())return new l(f);if(f.abs().eq(1)&&a+4<=Ce)return o=F(l,a+4,d).times(.25),o.s=f.s,o}else{if(!f.s)return new l(NaN);if(a+4<=Ce)return o=F(l,a+4,d).times(.5),o.s=f.s,o}for(l.precision=u=a+10,l.rounding=1,i=Math.min(28,u/m+2|0),e=i;e;--e)f=f.div(f.times(f).plus(1).sqrt().plus(1));for(w=!1,n=Math.ceil(u/m),t=1,c=f.times(f),o=new l(f),r=f;e!==-1;)if(r=r.times(c),s=o.minus(r.div(t+=2)),r=r.times(c),o=s.plus(r.div(t+=2)),o.d[n]!==void 0)for(e=n;o.d[e]===s.d[e]&&e--;);return i&&(o=o.times(2<this.d.length-2};h.isNaN=function(){return!this.s};h.isNegative=h.isNeg=function(){return this.s<0};h.isPositive=h.isPos=function(){return this.s>0};h.isZero=function(){return!!this.d&&this.d[0]===0};h.lessThan=h.lt=function(e){return this.cmp(e)<0};h.lessThanOrEqualTo=h.lte=function(e){return this.cmp(e)<1};h.logarithm=h.log=function(e){var n,i,t,r,s,o,u,c,f=this,l=f.constructor,a=l.precision,d=l.rounding,g=5;if(e==null)e=new l(10),n=!0;else{if(e=new l(e),i=e.d,e.s<0||!i||!i[0]||e.eq(1))return new l(NaN);n=e.eq(10)}if(i=f.d,f.s<0||!i||!i[0]||f.eq(1))return new l(i&&!i[0]?-1/0:f.s!=1?NaN:i?0:1/0);if(n)if(i.length>1)s=!0;else{for(r=i[0];r%10===0;)r/=10;s=r!==1}if(w=!1,u=a+g,o=B(f,u),t=n?ue(l,u+10):B(e,u),c=k(o,t,u,1),Q(c.d,r=a,d))do if(u+=10,o=B(f,u),t=n?ue(l,u+10):B(e,u),c=k(o,t,u,1),!s){+b(c.d).slice(r+1,r+15)+1==1e14&&(c=p(c,a+1,0));break}while(Q(c.d,r+=10,d));return w=!0,p(c,a,d)};h.minus=h.sub=function(e){var n,i,t,r,s,o,u,c,f,l,a,d,g=this,v=g.constructor;if(e=new v(e),!g.d||!e.d)return!g.s||!e.s?e=new v(NaN):g.d?e.s=-e.s:e=new v(e.d||g.s!==e.s?g:NaN),e;if(g.s!=e.s)return e.s=-e.s,g.plus(e);if(f=g.d,d=e.d,u=v.precision,c=v.rounding,!f[0]||!d[0]){if(d[0])e.s=-e.s;else if(f[0])e=new v(g);else return new v(c===3?-0:0);return w?p(e,u,c):e}if(i=R(e.e/m),l=R(g.e/m),f=f.slice(),s=l-i,s){for(a=s<0,a?(n=f,s=-s,o=d.length):(n=d,i=l,o=f.length),t=Math.max(Math.ceil(u/m),o)+2,s>t&&(s=t,n.length=1),n.reverse(),t=s;t--;)n.push(0);n.reverse()}else{for(t=f.length,o=d.length,a=t0;--t)f[o++]=0;for(t=d.length;t>s;){if(f[--t]o?s+1:o+1,r>o&&(r=o,i.length=1),i.reverse();r--;)i.push(0);i.reverse()}for(o=f.length,r=l.length,o-r<0&&(r=o,i=l,l=f,f=i),n=0;r;)n=(f[--r]=f[r]+l[r]+n)/D|0,f[r]%=D;for(n&&(f.unshift(n),++t),o=f.length;f[--o]==0;)f.pop();return e.d=f,e.e=ce(f,t),w?p(e,u,c):e};h.precision=h.sd=function(e){var n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error($+e);return i.d?(n=$e(i.d),e&&i.e+1>n&&(n=i.e+1)):n=NaN,n};h.round=function(){var e=this,n=e.constructor;return p(new n(e),e.e+1,n.rounding)};h.sine=h.sin=function(){var e,n,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(e=t.precision,n=t.rounding,t.precision=e+Math.max(i.e,i.sd())+m,t.rounding=1,i=mn(t,We(t,i)),t.precision=e,t.rounding=n,p(Z>2?i.neg():i,e,n,!0)):new t(NaN)};h.squareRoot=h.sqrt=function(){var e,n,i,t,r,s,o=this,u=o.d,c=o.e,f=o.s,l=o.constructor;if(f!==1||!u||!u[0])return new l(!f||f<0&&(!u||u[0])?NaN:u?o:1/0);for(w=!1,f=Math.sqrt(+o),f==0||f==1/0?(n=b(u),(n.length+c)%2==0&&(n+="0"),f=Math.sqrt(n),c=R((c+1)/2)-(c<0||c%2),f==1/0?n="5e"+c:(n=f.toExponential(),n=n.slice(0,n.indexOf("e")+1)+c),t=new l(n)):t=new l(f.toString()),i=(c=l.precision)+3;;)if(s=t,t=s.plus(k(o,s,i+2,1)).times(.5),b(s.d).slice(0,i)===(n=b(t.d)).slice(0,i))if(n=n.slice(i-3,i+1),n=="9999"||!r&&n=="4999"){if(!r&&(p(s,c+1,0),s.times(s).eq(o))){t=s;break}i+=4,r=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(p(t,c+1,1),e=!t.times(t).eq(o));break}return w=!0,p(t,c,l.rounding,e)};h.tangent=h.tan=function(){var e,n,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(e=t.precision,n=t.rounding,t.precision=e+10,t.rounding=1,i=i.sin(),i.s=1,i=k(i,new t(1).minus(i.times(i)).sqrt(),e+10,0),t.precision=e,t.rounding=n,p(Z==2||Z==4?i.neg():i,e,n,!0)):new t(NaN)};h.times=h.mul=function(e){var n,i,t,r,s,o,u,c,f,l=this,a=l.constructor,d=l.d,g=(e=new a(e)).d;if(e.s*=l.s,!d||!d[0]||!g||!g[0])return new a(!e.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?e.s/0:e.s*0);for(i=R(l.e/m)+R(e.e/m),c=d.length,f=g.length,c=0;){for(n=0,r=c+t;r>t;)u=s[r]+g[t]*d[r-t-1]+n,s[r--]=u%D|0,n=u/D|0;s[r]=(s[r]+n)%D|0}for(;!s[--o];)s.pop();return n?++i:s.shift(),e.d=s,e.e=ce(s,i),w?p(e,a.precision,a.rounding):e};h.toBinary=function(e,n){return Pe(this,2,e,n)};h.toDecimalPlaces=h.toDP=function(e,n){var i=this,t=i.constructor;return i=new t(i),e===void 0?i:(q(e,0,H),n===void 0?n=t.rounding:q(n,0,8),p(i,e+i.e+1,n))};h.toExponential=function(e,n){var i,t=this,r=t.constructor;return e===void 0?i=L(t,!0):(q(e,0,H),n===void 0?n=r.rounding:q(n,0,8),t=p(new r(t),e+1,n),i=L(t,!0,e+1)),t.isNeg()&&!t.isZero()?"-"+i:i};h.toFixed=function(e,n){var i,t,r=this,s=r.constructor;return e===void 0?i=L(r):(q(e,0,H),n===void 0?n=s.rounding:q(n,0,8),t=p(new s(r),e+r.e+1,n),i=L(t,!1,e+t.e+1)),r.isNeg()&&!r.isZero()?"-"+i:i};h.toFraction=function(e){var n,i,t,r,s,o,u,c,f,l,a,d,g=this,v=g.d,N=g.constructor;if(!v)return new N(g);if(f=i=new N(1),t=c=new N(0),n=new N(t),s=n.e=$e(v)-g.e-1,o=s%m,n.d[0]=C(10,o<0?m+o:o),e==null)e=s>0?n:f;else{if(u=new N(e),!u.isInt()||u.lt(f))throw Error($+u);e=u.gt(n)?s>0?n:f:u}for(w=!1,u=new N(b(v)),l=N.precision,N.precision=s=v.length*m*2;a=k(u,n,0,1,1),r=i.plus(a.times(t)),r.cmp(e)!=1;)i=t,t=r,r=f,f=c.plus(a.times(r)),c=r,r=n,n=u.minus(a.times(r)),u=r;return r=k(e.minus(i),t,0,1,1),c=c.plus(r.times(f)),i=i.plus(r.times(t)),c.s=f.s=g.s,d=k(f,t,s,1).minus(g).abs().cmp(k(c,i,s,1).minus(g).abs())<1?[f,t]:[c,i],N.precision=l,w=!0,d};h.toHexadecimal=h.toHex=function(e,n){return Pe(this,16,e,n)};h.toNearest=function(e,n){var i=this,t=i.constructor;if(i=new t(i),e==null){if(!i.d)return i;e=new t(1),n=t.rounding}else{if(e=new t(e),n===void 0?n=t.rounding:q(n,0,8),!i.d)return e.s?i:e;if(!e.d)return e.s&&(e.s=i.s),e}return e.d[0]?(w=!1,i=k(i,e,0,n,1).times(e),w=!0,p(i)):(e.s=i.s,i=e),i};h.toNumber=function(){return+this};h.toOctal=function(e,n){return Pe(this,8,e,n)};h.toPower=h.pow=function(e){var n,i,t,r,s,o,u=this,c=u.constructor,f=+(e=new c(e));if(!u.d||!e.d||!u.d[0]||!e.d[0])return new c(C(+u,f));if(u=new c(u),u.eq(1))return u;if(t=c.precision,s=c.rounding,e.eq(1))return p(u,t,s);if(n=R(e.e/m),n>=e.d.length-1&&(i=f<0?-f:f)<=dn)return r=He(c,u,i,t),e.s<0?new c(1).div(r):p(r,t,s);if(o=u.s,o<0){if(nc.maxE+1||n0?o/0:0):(w=!1,c.rounding=u.s=1,i=Math.min(12,(n+"").length),r=be(e.times(B(u,t+i)),t),r.d&&(r=p(r,t+5,1),Q(r.d,t,s)&&(n=t+10,r=p(be(e.times(B(u,n+i)),n),n+5,1),+b(r.d).slice(t+1,t+15)+1==1e14&&(r=p(r,t+1,0)))),r.s=o,w=!0,c.rounding=s,p(r,t,s))};h.toPrecision=function(e,n){var i,t=this,r=t.constructor;return e===void 0?i=L(t,t.e<=r.toExpNeg||t.e>=r.toExpPos):(q(e,1,H),n===void 0?n=r.rounding:q(n,0,8),t=p(new r(t),e,n),i=L(t,e<=t.e||t.e<=r.toExpNeg,e)),t.isNeg()&&!t.isZero()?"-"+i:i};h.toSignificantDigits=h.toSD=function(e,n){var i=this,t=i.constructor;return e===void 0?(e=t.precision,n=t.rounding):(q(e,1,H),n===void 0?n=t.rounding:q(n,0,8)),p(new t(i),e,n)};h.toString=function(){var e=this,n=e.constructor,i=L(e,e.e<=n.toExpNeg||e.e>=n.toExpPos);return e.isNeg()&&!e.isZero()?"-"+i:i};h.truncated=h.trunc=function(){return p(new this.constructor(this),this.e+1,1)};h.valueOf=h.toJSON=function(){var e=this,n=e.constructor,i=L(e,e.e<=n.toExpNeg||e.e>=n.toExpPos);return e.isNeg()?"-"+i:i};function b(e){var n,i,t,r=e.length-1,s="",o=e[0];if(r>0){for(s+=o,n=1;ni)throw Error($+e)}function Q(e,n,i,t){var r,s,o,u;for(s=e[0];s>=10;s/=10)--n;return--n<0?(n+=m,r=0):(r=Math.ceil((n+1)/m),n%=m),s=C(10,m-n),u=e[r]%s|0,t==null?n<3?(n==0?u=u/100|0:n==1&&(u=u/10|0),o=i<4&&u==99999||i>3&&u==49999||u==5e4||u==0):o=(i<4&&u+1==s||i>3&&u+1==s/2)&&(e[r+1]/s/100|0)==C(10,n-2)-1||(u==s/2||u==0)&&(e[r+1]/s/100|0)==0:n<4?(n==0?u=u/1e3|0:n==1?u=u/100|0:n==2&&(u=u/10|0),o=(t||i<4)&&u==9999||!t&&i>3&&u==4999):o=((t||i<4)&&u+1==s||!t&&i>3&&u+1==s/2)&&(e[r+1]/s/1e3|0)==C(10,n-3)-1,o}function te(e,n,i){for(var t,r=[0],s,o=0,u=e.length;oi-1&&(r[t+1]===void 0&&(r[t+1]=0),r[t+1]+=r[t]/i|0,r[t]%=i)}return r.reverse()}function pn(e,n){var i,t,r;if(n.isZero())return n;t=n.d.length,t<32?(i=Math.ceil(t/3),r=(1/le(4,i)).toString()):(i=16,r="2.3283064365386962890625e-10"),e.precision+=i,n=j(e,1,n.times(r),new e(1));for(var s=i;s--;){var o=n.times(n);n=o.times(o).minus(o).times(8).plus(1)}return e.precision-=i,n}var k=function(){function e(t,r,s){var o,u=0,c=t.length;for(t=t.slice();c--;)o=t[c]*r+u,t[c]=o%s|0,u=o/s|0;return u&&t.unshift(u),t}function n(t,r,s,o){var u,c;if(s!=o)c=s>o?1:-1;else for(u=c=0;ur[u]?1:-1;break}return c}function i(t,r,s,o){for(var u=0;s--;)t[s]-=u,u=t[s]1;)t.shift()}return function(t,r,s,o,u,c){var f,l,a,d,g,v,N,A,M,_,E,P,x,I,ae,z,W,de,T,y,ee=t.constructor,he=t.s==r.s?1:-1,O=t.d,S=r.d;if(!O||!O[0]||!S||!S[0])return new ee(!t.s||!r.s||(O?S&&O[0]==S[0]:!S)?NaN:O&&O[0]==0||!S?he*0:he/0);for(c?(g=1,l=t.e-r.e):(c=D,g=m,l=R(t.e/g)-R(r.e/g)),T=S.length,W=O.length,M=new ee(he),_=M.d=[],a=0;S[a]==(O[a]||0);a++);if(S[a]>(O[a]||0)&&l--,s==null?(I=s=ee.precision,o=ee.rounding):u?I=s+(t.e-r.e)+1:I=s,I<0)_.push(1),v=!0;else{if(I=I/g+2|0,a=0,T==1){for(d=0,S=S[0],I++;(a1&&(S=e(S,d,c),O=e(O,d,c),T=S.length,W=O.length),z=T,E=O.slice(0,T),P=E.length;P=c/2&&++de;do d=0,f=n(S,E,T,P),f<0?(x=E[0],T!=P&&(x=x*c+(E[1]||0)),d=x/de|0,d>1?(d>=c&&(d=c-1),N=e(S,d,c),A=N.length,P=E.length,f=n(N,E,A,P),f==1&&(d--,i(N,T=10;d/=10)a++;M.e=a+l*g-1,p(M,u?s+M.e+1:s,o,v)}return M}}();function p(e,n,i,t){var r,s,o,u,c,f,l,a,d,g=e.constructor;e:if(n!=null){if(a=e.d,!a)return e;for(r=1,u=a[0];u>=10;u/=10)r++;if(s=n-r,s<0)s+=m,o=n,l=a[d=0],c=l/C(10,r-o-1)%10|0;else if(d=Math.ceil((s+1)/m),u=a.length,d>=u)if(t){for(;u++<=d;)a.push(0);l=c=0,r=1,s%=m,o=s-m+1}else break e;else{for(l=u=a[d],r=1;u>=10;u/=10)r++;s%=m,o=s-m+r,c=o<0?0:l/C(10,r-o-1)%10|0}if(t=t||n<0||a[d+1]!==void 0||(o<0?l:l%C(10,r-o-1)),f=i<4?(c||t)&&(i==0||i==(e.s<0?3:2)):c>5||c==5&&(i==4||t||i==6&&(s>0?o>0?l/C(10,r-o):0:a[d-1])%10&1||i==(e.s<0?8:7)),n<1||!a[0])return a.length=0,f?(n-=e.e+1,a[0]=C(10,(m-n%m)%m),e.e=-n||0):a[0]=e.e=0,e;if(s==0?(a.length=d,u=1,d--):(a.length=d+1,u=C(10,m-s),a[d]=o>0?(l/C(10,r-o)%C(10,o)|0)*u:0),f)for(;;)if(d==0){for(s=1,o=a[0];o>=10;o/=10)s++;for(o=a[0]+=u,u=1;o>=10;o/=10)u++;s!=u&&(e.e++,a[0]==D&&(a[0]=1));break}else{if(a[d]+=u,a[d]!=D)break;a[d--]=0,u=1}for(s=a.length;a[--s]===0;)a.pop()}return w&&(e.e>g.maxE?(e.d=null,e.e=NaN):e.e0?s=s.charAt(0)+"."+s.slice(1)+U(t):o>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(e.e<0?"e":"e+")+e.e):r<0?(s="0."+U(-r-1)+s,i&&(t=i-o)>0&&(s+=U(t))):r>=o?(s+=U(r+1-o),i&&(t=i-r-1)>0&&(s=s+"."+U(t))):((t=r+1)0&&(r+1===o&&(s+="."),s+=U(t))),s}function ce(e,n){var i=e[0];for(n*=m;i>=10;i/=10)n++;return n}function ue(e,n,i){if(n>hn)throw w=!0,i&&(e.precision=i),Error(Ie);return p(new e(se),n,1,!0)}function F(e,n,i){if(n>Ce)throw Error(Ie);return p(new e(oe),n,i,!0)}function $e(e){var n=e.length-1,i=n*m+1;if(n=e[n],n){for(;n%10==0;n/=10)i--;for(n=e[0];n>=10;n/=10)i++}return i}function U(e){for(var n="";e--;)n+="0";return n}function He(e,n,i,t){var r,s=new e(1),o=Math.ceil(t/m+4);for(w=!1;;){if(i%2&&(s=s.times(n),De(s.d,o)&&(r=!0)),i=R(i/2),i===0){i=s.d.length-1,r&&s.d[i]===0&&++s.d[i];break}n=n.times(n),De(n.d,o)}return w=!0,s}function Te(e){return e.d[e.d.length-1]&1}function Ve(e,n,i){for(var t,r,s=new e(n[0]),o=0;++o17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(n==null?(w=!1,c=v):c=n,u=new d(.03125);e.e>-2;)e=e.times(u),a+=5;for(t=Math.log(C(2,a))/Math.LN10*2+5|0,c+=t,i=s=o=new d(1),d.precision=c;;){if(s=p(s.times(e),c,1),i=i.times(++l),u=o.plus(k(s,i,c,1)),b(u.d).slice(0,c)===b(o.d).slice(0,c)){for(r=a;r--;)o=p(o.times(o),c,1);if(n==null)if(f<3&&Q(o.d,c-t,g,f))d.precision=c+=10,i=s=u=new d(1),l=0,f++;else return p(o,d.precision=v,g,w=!0);else return d.precision=v,o}o=u}}function B(e,n){var i,t,r,s,o,u,c,f,l,a,d,g=1,v=10,N=e,A=N.d,M=N.constructor,_=M.rounding,E=M.precision;if(N.s<0||!A||!A[0]||!N.e&&A[0]==1&&A.length==1)return new M(A&&!A[0]?-1/0:N.s!=1?NaN:A?0:N);if(n==null?(w=!1,l=E):l=n,M.precision=l+=v,i=b(A),t=i.charAt(0),Math.abs(s=N.e)<15e14){for(;t<7&&t!=1||t==1&&i.charAt(1)>3;)N=N.times(e),i=b(N.d),t=i.charAt(0),g++;s=N.e,t>1?(N=new M("0."+i),s++):N=new M(t+"."+i.slice(1))}else return f=ue(M,l+2,E).times(s+""),N=B(new M(t+"."+i.slice(1)),l-v).plus(f),M.precision=E,n==null?p(N,E,_,w=!0):N;for(a=N,c=o=N=k(N.minus(1),N.plus(1),l,1),d=p(N.times(N),l,1),r=3;;){if(o=p(o.times(d),l,1),f=c.plus(k(o,new M(r),l,1)),b(f.d).slice(0,l)===b(c.d).slice(0,l))if(c=c.times(2),s!==0&&(c=c.plus(ue(M,l+2,E).times(s+""))),c=k(c,new M(g),l,1),n==null)if(Q(c.d,l-v,_,u))M.precision=l+=v,f=o=N=k(a.minus(1),a.plus(1),l,1),d=p(N.times(N),l,1),r=u=1;else return p(c,M.precision=E,_,w=!0);else return M.precision=E,c;c=f,r+=2}}function je(e){return String(e.s*e.s/0)}function re(e,n){var i,t,r;for((i=n.indexOf("."))>-1&&(n=n.replace(".","")),(t=n.search(/e/i))>0?(i<0&&(i=t),i+=+n.slice(t+1),n=n.substring(0,t)):i<0&&(i=n.length),t=0;n.charCodeAt(t)===48;t++);for(r=n.length;n.charCodeAt(r-1)===48;--r);if(n=n.slice(t,r),n){if(r-=t,e.e=i=i-t-1,e.d=[],t=(i+1)%m,i<0&&(t+=m),te.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(n=n.replace(/(\d)_(?=\d)/g,"$1"),Be.test(n))return re(e,n)}else if(n==="Infinity"||n==="NaN")return+n||(e.s=NaN),e.e=NaN,e.d=null,e;if(ln.test(n))i=16,n=n.toLowerCase();else if(cn.test(n))i=2;else if(an.test(n))i=8;else throw Error($+n);for(s=n.search(/p/i),s>0?(c=+n.slice(s+1),n=n.substring(2,s)):n=n.slice(2),s=n.indexOf("."),o=s>=0,t=e.constructor,o&&(n=n.replace(".",""),u=n.length,s=u-s,r=He(t,new t(i),s,s*2)),f=te(n,i,D),l=f.length-1,s=l;f[s]===0;--s)f.pop();return s<0?new t(e.s*0):(e.e=ce(f,l),e.d=f,w=!1,o&&(e=k(e,r,u*4)),c&&(e=e.times(Math.abs(c)<54?C(2,c):Y.pow(2,c))),w=!0,e)}function mn(e,n){var i,t=n.d.length;if(t<3)return n.isZero()?n:j(e,2,n,n);i=1.4*Math.sqrt(t),i=i>16?16:i|0,n=n.times(1/le(5,i)),n=j(e,2,n,n);for(var r,s=new e(5),o=new e(16),u=new e(20);i--;)r=n.times(n),n=n.times(s.plus(r.times(o.times(r).minus(u))));return n}function j(e,n,i,t,r){var s,o,u,c,f=1,l=e.precision,a=Math.ceil(l/m);for(w=!1,c=i.times(i),u=new e(t);;){if(o=k(u.times(c),new e(n++*n++),l,1),u=r?t.plus(o):t.minus(o),t=k(o.times(c),new e(n++*n++),l,1),o=u.plus(t),o.d[a]!==void 0){for(s=a;o.d[s]===u.d[s]&&s--;);if(s==-1)break}s=u,u=t,t=o,o=s,f++}return w=!0,o.d.length=a+1,o}function le(e,n){for(var i=e;--n;)i*=e;return i}function We(e,n){var i,t=n.s<0,r=F(e,e.precision,1),s=r.times(.5);if(n=n.abs(),n.lte(s))return Z=t?4:1,n;if(i=n.divToInt(r),i.isZero())Z=t?3:2;else{if(n=n.minus(i.times(r)),n.lte(s))return Z=Te(i)?t?2:3:t?4:1,n;Z=Te(i)?t?1:4:t?3:2}return n.minus(r).abs()}function Pe(e,n,i,t){var r,s,o,u,c,f,l,a,d,g=e.constructor,v=i!==void 0;if(v?(q(i,1,H),t===void 0?t=g.rounding:q(t,0,8)):(i=g.precision,t=g.rounding),!e.isFinite())l=je(e);else{for(l=L(e),o=l.indexOf("."),v?(r=2,n==16?i=i*4-3:n==8&&(i=i*3-2)):r=n,o>=0&&(l=l.replace(".",""),d=new g(1),d.e=l.length-o,d.d=te(L(d),10,r),d.e=d.d.length),a=te(l,10,r),s=c=a.length;a[--c]==0;)a.pop();if(!a[0])l=v?"0p+0":"0";else{if(o<0?s--:(e=new g(e),e.d=a,e.e=s,e=k(e,d,i,t,0,r),a=e.d,s=e.e,f=Le),o=a[i],u=r/2,f=f||a[i+1]!==void 0,f=t<4?(o!==void 0||f)&&(t===0||t===(e.s<0?3:2)):o>u||o===u&&(t===4||f||t===6&&a[i-1]&1||t===(e.s<0?8:7)),a.length=i,f)for(;++a[--i]>r-1;)a[i]=0,i||(++s,a.unshift(1));for(c=a.length;!a[c-1];--c);for(o=0,l="";o1)if(n==16||n==8){for(o=n==16?4:3,--c;c%o;c++)l+="0";for(a=te(l,r,n),c=a.length;!a[c-1];--c);for(o=1,l="1.";oc)for(s-=c;s--;)l+="0";else sn)return e.length=n,!0}function wn(e){return new this(e).abs()}function Nn(e){return new this(e).acos()}function vn(e){return new this(e).acosh()}function En(e,n){return new this(e).plus(n)}function kn(e){return new this(e).asin()}function Sn(e){return new this(e).asinh()}function Mn(e){return new this(e).atan()}function Cn(e){return new this(e).atanh()}function bn(e,n){e=new this(e),n=new this(n);var i,t=this.precision,r=this.rounding,s=t+4;return!e.s||!n.s?i=new this(NaN):!e.d&&!n.d?(i=F(this,s,1).times(n.s>0?.25:.75),i.s=e.s):!n.d||e.isZero()?(i=n.s<0?F(this,t,r):new this(0),i.s=e.s):!e.d||n.isZero()?(i=F(this,s,1).times(.5),i.s=e.s):n.s<0?(this.precision=s,this.rounding=1,i=this.atan(k(e,n,s,1)),n=F(this,s,1),this.precision=t,this.rounding=r,i=e.s<0?i.minus(n):i.plus(n)):i=this.atan(k(e,n,s,1)),i}function Pn(e){return new this(e).cbrt()}function On(e){return p(e=new this(e),e.e+1,2)}function Rn(e,n,i){return new this(e).clamp(n,i)}function An(e){if(!e||typeof e!="object")throw Error(fe+"Object expected");var n,i,t,r=e.defaults===!0,s=["precision",1,H,"rounding",0,8,"toExpNeg",-V,0,"toExpPos",0,V,"maxE",0,V,"minE",-V,0,"modulo",0,9];for(n=0;n=s[n+1]&&t<=s[n+2])this[i]=t;else throw Error($+i+": "+t);if(i="crypto",r&&(this[i]=Me[i]),(t=e[i])!==void 0)if(t===!0||t===!1||t===0||t===1)if(t)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[i]=!0;else throw Error(Ze);else this[i]=!1;else throw Error($+i+": "+t);return this}function qn(e){return new this(e).cos()}function _n(e){return new this(e).cosh()}function Ge(e){var n,i,t;function r(s){var o,u,c,f=this;if(!(f instanceof r))return new r(s);if(f.constructor=r,Fe(s)){f.s=s.s,w?!s.d||s.e>r.maxE?(f.e=NaN,f.d=null):s.e=10;u/=10)o++;w?o>r.maxE?(f.e=NaN,f.d=null):o=429e7?n[s]=crypto.getRandomValues(new Uint32Array(1))[0]:u[s++]=r%1e7;else if(crypto.randomBytes){for(n=crypto.randomBytes(t*=4);s=214e7?crypto.randomBytes(4).copy(n,s):(u.push(r%1e7),s+=4);s=t/4}else throw Error(Ze);else for(;s=10;r/=10)t++;t + * MIT Licence + *) +*/ +//# sourceMappingURL=index-browser.js.map diff --git a/packages/member-prisma-client/runtime/library.d.ts b/packages/member-prisma-client/runtime/library.d.ts new file mode 100644 index 0000000..ffaec81 --- /dev/null +++ b/packages/member-prisma-client/runtime/library.d.ts @@ -0,0 +1,3982 @@ +/** + * @param this + */ +declare function $extends(this: Client, extension: ExtensionArgs | ((client: Client) => Client)): Client; + +declare type AccelerateEngineConfig = { + inlineSchema: EngineConfig['inlineSchema']; + inlineSchemaHash: EngineConfig['inlineSchemaHash']; + env: EngineConfig['env']; + generator?: { + previewFeatures: string[]; + }; + inlineDatasources: EngineConfig['inlineDatasources']; + overrideDatasources: EngineConfig['overrideDatasources']; + clientVersion: EngineConfig['clientVersion']; + engineVersion: EngineConfig['engineVersion']; + logEmitter: EngineConfig['logEmitter']; + logQueries?: EngineConfig['logQueries']; + logLevel?: EngineConfig['logLevel']; + tracingHelper: EngineConfig['tracingHelper']; + accelerateUtils?: AccelerateUtils; +}; + +/** + * A stripped down interface of `fetch` that `@prisma/extension-accelerate` + * relies on. It must be in sync with the corresponding definition in the + * Accelerate extension. + * + * This is the actual interface exposed by the extension. We can't use the + * custom fetch function provided by it as normal fetch because the API is + * different. Notably, `headers` must be an object and not a `Headers` + * instance, and `url` must be a `string` and not a `URL`. + * + * The return type is `Response` but we can't specify this in an exported type + * because it would end up referencing external types from `@types/node` or DOM + * which can fail typechecking depending on TypeScript configuration in a user's + * project. + */ +declare type AccelerateExtensionFetch = (url: string, options: { + body?: string; + method?: string; + headers: Record; +}) => Promise; + +declare type AccelerateExtensionFetchDecorator = (fetch: AccelerateExtensionFetch) => AccelerateExtensionFetch; + +declare type AccelerateUtils = EngineConfig['accelerateUtils']; + +export declare type Action = keyof typeof DMMF_2.ModelAction | 'executeRaw' | 'queryRaw' | 'runCommandRaw'; + +declare type ActiveConnectorType = Exclude; + +/** + * An interface that exposes some basic information about the + * adapter like its name and provider type. + */ +declare interface AdapterInfo { + readonly provider: Provider; + readonly adapterName: (typeof officialPrismaAdapters)[number] | (string & {}); +} + +export declare type Aggregate = '_count' | '_max' | '_min' | '_avg' | '_sum'; + +export declare type AllModelsToStringIndex, K extends PropertyKey> = Args extends { + [P in K]: { + $allModels: infer AllModels; + }; +} ? { + [P in K]: Record; +} : {}; + +declare class AnyNull extends NullTypesEnumValue { + #private; +} + +export declare type ApplyOmit = Compute<{ + [K in keyof T as OmitValue extends true ? never : K]: T[K]; +}>; + +export declare type Args = T extends { + [K: symbol]: { + types: { + operations: { + [K in F]: { + args: any; + }; + }; + }; + }; +} ? T[symbol]['types']['operations'][F]['args'] : any; + +export declare type Args_3 = Args; + +declare type ArgScalarType = 'string' | 'int' | 'bigint' | 'float' | 'decimal' | 'boolean' | 'enum' | 'uuid' | 'json' | 'datetime' | 'bytes' | 'unknown'; + +declare type ArgType = { + scalarType: ArgScalarType; + dbType?: string; + arity: Arity; +}; + +declare type Arity = 'scalar' | 'list'; + +/** + * Attributes is a map from string to attribute values. + * + * Note: only the own enumerable keys are counted as valid attribute keys. + */ +declare interface Attributes { + [attributeKey: string]: AttributeValue | undefined; +} + +/** + * Attribute values may be any non-nullish primitive value except an object. + * + * null or undefined attribute values are invalid and will result in undefined behavior. + */ +declare type AttributeValue = string | number | boolean | Array | Array | Array; + +export declare type BaseDMMF = { + readonly datamodel: Omit; +}; + +declare type BatchArgs = { + queries: BatchQuery[]; + transaction?: { + isolationLevel?: IsolationLevel_2; + }; +}; + +declare type BatchInternalParams = { + requests: RequestParams[]; + customDataProxyFetch?: AccelerateExtensionFetchDecorator; +}; + +declare type BatchQuery = { + model: string | undefined; + operation: string; + args: JsArgs | RawQueryArgs; +}; + +declare type BatchQueryEngineResult = QueryEngineResultData | Error; + +declare type BatchQueryOptionsCb = (args: BatchQueryOptionsCbArgs) => Promise; + +declare type BatchQueryOptionsCbArgs = { + args: BatchArgs; + query: (args: BatchArgs, __internalParams?: BatchInternalParams) => Promise; + __internalParams: BatchInternalParams; +}; + +declare type BatchResponse = MultiBatchResponse | CompactedBatchResponse; + +declare type BatchTransactionOptions = { + isolationLevel?: Transaction_2.IsolationLevel; +}; + +declare interface BinaryTargetsEnvValue { + fromEnvVar: string | null; + value: string; + native?: boolean; +} + +/** + * Equivalent to `Uint8Array` before TypeScript 5.7, and `Uint8Array` in TypeScript 5.7 and beyond. + */ +export declare type Bytes = ReturnType; + +export declare type Call = (F & { + params: P; +})['returns']; + +declare interface CallSite { + getLocation(): LocationInFile | null; +} + +export declare type Cast = A extends W ? A : W; + +declare type Client = ReturnType extends new () => infer T ? T : never; + +export declare type ClientArg = { + [MethodName in string]: unknown; +}; + +export declare type ClientArgs = { + client: ClientArg; +}; + +export declare type ClientBuiltInProp = keyof DynamicClientExtensionThisBuiltin; + +export declare type ClientOptionDef = undefined | { + [K in string]: any; +}; + +export declare type ClientOtherOps = { + $queryRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise; + $queryRawTyped(query: TypedSql): PrismaPromise; + $queryRawUnsafe(query: string, ...values: any[]): PrismaPromise; + $executeRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise; + $executeRawUnsafe(query: string, ...values: any[]): PrismaPromise; + $runCommandRaw(command: InputJsonObject): PrismaPromise; +}; + +declare type ColumnType = (typeof ColumnTypeEnum)[keyof typeof ColumnTypeEnum]; + +declare const ColumnTypeEnum: { + readonly Int32: 0; + readonly Int64: 1; + readonly Float: 2; + readonly Double: 3; + readonly Numeric: 4; + readonly Boolean: 5; + readonly Character: 6; + readonly Text: 7; + readonly Date: 8; + readonly Time: 9; + readonly DateTime: 10; + readonly Json: 11; + readonly Enum: 12; + readonly Bytes: 13; + readonly Set: 14; + readonly Uuid: 15; + readonly Int32Array: 64; + readonly Int64Array: 65; + readonly FloatArray: 66; + readonly DoubleArray: 67; + readonly NumericArray: 68; + readonly BooleanArray: 69; + readonly CharacterArray: 70; + readonly TextArray: 71; + readonly DateArray: 72; + readonly TimeArray: 73; + readonly DateTimeArray: 74; + readonly JsonArray: 75; + readonly EnumArray: 76; + readonly BytesArray: 77; + readonly UuidArray: 78; + readonly UnknownNumber: 128; +}; + +declare type CompactedBatchResponse = { + type: 'compacted'; + plan: QueryPlanNode; + arguments: Record[]; + nestedSelection: string[]; + keys: string[]; + expectNonEmpty: boolean; +}; + +declare type CompilerWasmLoadingConfig = { + /** + * WASM-bindgen runtime for corresponding module + */ + getRuntime: () => Promise<{ + __wbg_set_wasm(exports: unknown): void; + QueryCompiler: QueryCompilerConstructor; + }>; + /** + * Loads the raw wasm module for the wasm compiler engine. This configuration is + * generated specifically for each type of client, eg. Node.js client and Edge + * clients will have different implementations. + * @remarks this is a callback on purpose, we only load the wasm if needed. + * @remarks only used by ClientEngine + */ + getQueryCompilerWasmModule: () => Promise; +}; + +export declare type Compute = T extends Function ? T : { + [K in keyof T]: T[K]; +} & unknown; + +export declare type ComputeDeep = T extends Function ? T : { + [K in keyof T]: ComputeDeep; +} & unknown; + +declare type ComputedField = { + name: string; + needs: string[]; + compute: ResultArgsFieldCompute; +}; + +declare type ComputedFieldsMap = { + [fieldName: string]: ComputedField; +}; + +declare type ConnectionInfo = { + schemaName?: string; + maxBindValues?: number; + supportsRelationJoins: boolean; +}; + +declare type ConnectorType = 'mysql' | 'mongodb' | 'sqlite' | 'postgresql' | 'postgres' | 'prisma+postgres' | 'sqlserver' | 'cockroachdb'; + +declare interface Context { + /** + * Get a value from the context. + * + * @param key key which identifies a context value + */ + getValue(key: symbol): unknown; + /** + * Create a new context which inherits from this context and has + * the given key set to the given value. + * + * @param key context key for which to set the value + * @param value value to set for the given key + */ + setValue(key: symbol, value: unknown): Context; + /** + * Return a new context which inherits from this context but does + * not contain a value for the given key. + * + * @param key context key for which to clear a value + */ + deleteValue(key: symbol): Context; +} + +declare type Context_2 = T extends { + [K: symbol]: { + ctx: infer C; + }; +} ? C & T & { + /** + * @deprecated Use `$name` instead. + */ + name?: string; + $name?: string; + $parent?: unknown; +} : T & { + /** + * @deprecated Use `$name` instead. + */ + name?: string; + $name?: string; + $parent?: unknown; +}; + +export declare type Count = { + [K in keyof O]: Count; +} & {}; + +export declare function createParam(name: string): Param; + +declare class DataLoader { + private options; + batches: { + [key: string]: Job[]; + }; + private tickActive; + constructor(options: DataLoaderOptions); + request(request: T): Promise; + private dispatchBatches; + get [Symbol.toStringTag](): string; +} + +declare type DataLoaderOptions = { + singleLoader: (request: T) => Promise; + batchLoader: (request: T[]) => Promise; + batchBy: (request: T) => string | undefined; + batchOrder: (requestA: T, requestB: T) => number; +}; + +declare type Datamodel = ReadonlyDeep_2<{ + models: Model[]; + enums: DatamodelEnum[]; + types: Model[]; + indexes: Index[]; +}>; + +declare type DatamodelEnum = ReadonlyDeep_2<{ + name: string; + values: EnumValue[]; + dbName?: string | null; + documentation?: string; +}>; + +declare function datamodelEnumToSchemaEnum(datamodelEnum: DatamodelEnum): SchemaEnum; + +declare type DataRule = { + type: 'rowCountEq'; + args: number; +} | { + type: 'rowCountNeq'; + args: number; +} | { + type: 'affectedRowCountEq'; + args: number; +} | { + type: 'never'; +}; + +declare type Datasource = { + url?: string; +}; + +declare type Datasources = { + [name in string]: Datasource; +}; + +declare class DbNull extends NullTypesEnumValue { + #private; +} + +export declare const Debug: typeof debugCreate & { + enable(namespace: any): void; + disable(): any; + enabled(namespace: string): boolean; + log: (...args: string[]) => void; + formatters: {}; +}; + +/** + * Create a new debug instance with the given namespace. + * + * @example + * ```ts + * import Debug from '@prisma/debug' + * const debug = Debug('prisma:client') + * debug('Hello World') + * ``` + */ +declare function debugCreate(namespace: string): ((...args: any[]) => void) & { + color: string; + enabled: boolean; + namespace: string; + log: (...args: string[]) => void; + extend: () => void; +}; + +export declare function Decimal(n: Decimal.Value): Decimal; + +export declare namespace Decimal { + export type Constructor = typeof Decimal; + export type Instance = Decimal; + export type Rounding = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8; + export type Modulo = Rounding | 9; + export type Value = string | number | Decimal; + + // http://mikemcl.github.io/decimal.js/#constructor-properties + export interface Config { + precision?: number; + rounding?: Rounding; + toExpNeg?: number; + toExpPos?: number; + minE?: number; + maxE?: number; + crypto?: boolean; + modulo?: Modulo; + defaults?: boolean; + } +} + +export declare class Decimal { + readonly d: number[]; + readonly e: number; + readonly s: number; + + constructor(n: Decimal.Value); + + absoluteValue(): Decimal; + abs(): Decimal; + + ceil(): Decimal; + + clampedTo(min: Decimal.Value, max: Decimal.Value): Decimal; + clamp(min: Decimal.Value, max: Decimal.Value): Decimal; + + comparedTo(n: Decimal.Value): number; + cmp(n: Decimal.Value): number; + + cosine(): Decimal; + cos(): Decimal; + + cubeRoot(): Decimal; + cbrt(): Decimal; + + decimalPlaces(): number; + dp(): number; + + dividedBy(n: Decimal.Value): Decimal; + div(n: Decimal.Value): Decimal; + + dividedToIntegerBy(n: Decimal.Value): Decimal; + divToInt(n: Decimal.Value): Decimal; + + equals(n: Decimal.Value): boolean; + eq(n: Decimal.Value): boolean; + + floor(): Decimal; + + greaterThan(n: Decimal.Value): boolean; + gt(n: Decimal.Value): boolean; + + greaterThanOrEqualTo(n: Decimal.Value): boolean; + gte(n: Decimal.Value): boolean; + + hyperbolicCosine(): Decimal; + cosh(): Decimal; + + hyperbolicSine(): Decimal; + sinh(): Decimal; + + hyperbolicTangent(): Decimal; + tanh(): Decimal; + + inverseCosine(): Decimal; + acos(): Decimal; + + inverseHyperbolicCosine(): Decimal; + acosh(): Decimal; + + inverseHyperbolicSine(): Decimal; + asinh(): Decimal; + + inverseHyperbolicTangent(): Decimal; + atanh(): Decimal; + + inverseSine(): Decimal; + asin(): Decimal; + + inverseTangent(): Decimal; + atan(): Decimal; + + isFinite(): boolean; + + isInteger(): boolean; + isInt(): boolean; + + isNaN(): boolean; + + isNegative(): boolean; + isNeg(): boolean; + + isPositive(): boolean; + isPos(): boolean; + + isZero(): boolean; + + lessThan(n: Decimal.Value): boolean; + lt(n: Decimal.Value): boolean; + + lessThanOrEqualTo(n: Decimal.Value): boolean; + lte(n: Decimal.Value): boolean; + + logarithm(n?: Decimal.Value): Decimal; + log(n?: Decimal.Value): Decimal; + + minus(n: Decimal.Value): Decimal; + sub(n: Decimal.Value): Decimal; + + modulo(n: Decimal.Value): Decimal; + mod(n: Decimal.Value): Decimal; + + naturalExponential(): Decimal; + exp(): Decimal; + + naturalLogarithm(): Decimal; + ln(): Decimal; + + negated(): Decimal; + neg(): Decimal; + + plus(n: Decimal.Value): Decimal; + add(n: Decimal.Value): Decimal; + + precision(includeZeros?: boolean): number; + sd(includeZeros?: boolean): number; + + round(): Decimal; + + sine() : Decimal; + sin() : Decimal; + + squareRoot(): Decimal; + sqrt(): Decimal; + + tangent() : Decimal; + tan() : Decimal; + + times(n: Decimal.Value): Decimal; + mul(n: Decimal.Value) : Decimal; + + toBinary(significantDigits?: number): string; + toBinary(significantDigits: number, rounding: Decimal.Rounding): string; + + toDecimalPlaces(decimalPlaces?: number): Decimal; + toDecimalPlaces(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; + toDP(decimalPlaces?: number): Decimal; + toDP(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; + + toExponential(decimalPlaces?: number): string; + toExponential(decimalPlaces: number, rounding: Decimal.Rounding): string; + + toFixed(decimalPlaces?: number): string; + toFixed(decimalPlaces: number, rounding: Decimal.Rounding): string; + + toFraction(max_denominator?: Decimal.Value): Decimal[]; + + toHexadecimal(significantDigits?: number): string; + toHexadecimal(significantDigits: number, rounding: Decimal.Rounding): string; + toHex(significantDigits?: number): string; + toHex(significantDigits: number, rounding?: Decimal.Rounding): string; + + toJSON(): string; + + toNearest(n: Decimal.Value, rounding?: Decimal.Rounding): Decimal; + + toNumber(): number; + + toOctal(significantDigits?: number): string; + toOctal(significantDigits: number, rounding: Decimal.Rounding): string; + + toPower(n: Decimal.Value): Decimal; + pow(n: Decimal.Value): Decimal; + + toPrecision(significantDigits?: number): string; + toPrecision(significantDigits: number, rounding: Decimal.Rounding): string; + + toSignificantDigits(significantDigits?: number): Decimal; + toSignificantDigits(significantDigits: number, rounding: Decimal.Rounding): Decimal; + toSD(significantDigits?: number): Decimal; + toSD(significantDigits: number, rounding: Decimal.Rounding): Decimal; + + toString(): string; + + truncated(): Decimal; + trunc(): Decimal; + + valueOf(): string; + + static abs(n: Decimal.Value): Decimal; + static acos(n: Decimal.Value): Decimal; + static acosh(n: Decimal.Value): Decimal; + static add(x: Decimal.Value, y: Decimal.Value): Decimal; + static asin(n: Decimal.Value): Decimal; + static asinh(n: Decimal.Value): Decimal; + static atan(n: Decimal.Value): Decimal; + static atanh(n: Decimal.Value): Decimal; + static atan2(y: Decimal.Value, x: Decimal.Value): Decimal; + static cbrt(n: Decimal.Value): Decimal; + static ceil(n: Decimal.Value): Decimal; + static clamp(n: Decimal.Value, min: Decimal.Value, max: Decimal.Value): Decimal; + static clone(object?: Decimal.Config): Decimal.Constructor; + static config(object: Decimal.Config): Decimal.Constructor; + static cos(n: Decimal.Value): Decimal; + static cosh(n: Decimal.Value): Decimal; + static div(x: Decimal.Value, y: Decimal.Value): Decimal; + static exp(n: Decimal.Value): Decimal; + static floor(n: Decimal.Value): Decimal; + static hypot(...n: Decimal.Value[]): Decimal; + static isDecimal(object: any): object is Decimal; + static ln(n: Decimal.Value): Decimal; + static log(n: Decimal.Value, base?: Decimal.Value): Decimal; + static log2(n: Decimal.Value): Decimal; + static log10(n: Decimal.Value): Decimal; + static max(...n: Decimal.Value[]): Decimal; + static min(...n: Decimal.Value[]): Decimal; + static mod(x: Decimal.Value, y: Decimal.Value): Decimal; + static mul(x: Decimal.Value, y: Decimal.Value): Decimal; + static noConflict(): Decimal.Constructor; // Browser only + static pow(base: Decimal.Value, exponent: Decimal.Value): Decimal; + static random(significantDigits?: number): Decimal; + static round(n: Decimal.Value): Decimal; + static set(object: Decimal.Config): Decimal.Constructor; + static sign(n: Decimal.Value): number; + static sin(n: Decimal.Value): Decimal; + static sinh(n: Decimal.Value): Decimal; + static sqrt(n: Decimal.Value): Decimal; + static sub(x: Decimal.Value, y: Decimal.Value): Decimal; + static sum(...n: Decimal.Value[]): Decimal; + static tan(n: Decimal.Value): Decimal; + static tanh(n: Decimal.Value): Decimal; + static trunc(n: Decimal.Value): Decimal; + + static readonly default?: Decimal.Constructor; + static readonly Decimal?: Decimal.Constructor; + + static readonly precision: number; + static readonly rounding: Decimal.Rounding; + static readonly toExpNeg: number; + static readonly toExpPos: number; + static readonly minE: number; + static readonly maxE: number; + static readonly crypto: boolean; + static readonly modulo: Decimal.Modulo; + + static readonly ROUND_UP: 0; + static readonly ROUND_DOWN: 1; + static readonly ROUND_CEIL: 2; + static readonly ROUND_FLOOR: 3; + static readonly ROUND_HALF_UP: 4; + static readonly ROUND_HALF_DOWN: 5; + static readonly ROUND_HALF_EVEN: 6; + static readonly ROUND_HALF_CEIL: 7; + static readonly ROUND_HALF_FLOOR: 8; + static readonly EUCLID: 9; +} + +/** + * Interface for any Decimal.js-like library + * Allows us to accept Decimal.js from different + * versions and some compatible alternatives + */ +export declare interface DecimalJsLike { + d: number[]; + e: number; + s: number; + toFixed(): string; +} + +export declare type DefaultArgs = InternalArgs<{}, {}, {}, {}>; + +export declare type DefaultSelection = Args extends { + omit: infer LocalOmit; +} ? ApplyOmit['default'], PatchFlat>>> : ApplyOmit['default'], ExtractGlobalOmit>>; + +export declare function defineDmmfProperty(target: object, runtimeDataModel: RuntimeDataModel): void; + +declare function defineExtension(ext: ExtensionArgs | ((client: Client) => Client)): (client: Client) => Client; + +declare const denylist: readonly ["$connect", "$disconnect", "$on", "$transaction", "$extends"]; + +declare type Deprecation = ReadonlyDeep_2<{ + sinceVersion: string; + reason: string; + plannedRemovalVersion?: string; +}>; + +declare type DeserializedResponse = Array>; + +export declare function deserializeJsonResponse(result: unknown): unknown; + +export declare function deserializeRawResult(response: RawResponse): DeserializedResponse; + +export declare type DevTypeMapDef = { + meta: { + modelProps: string; + }; + model: { + [Model in PropertyKey]: { + [Operation in PropertyKey]: DevTypeMapFnDef; + }; + }; + other: { + [Operation in PropertyKey]: DevTypeMapFnDef; + }; +}; + +export declare type DevTypeMapFnDef = { + args: any; + result: any; + payload: OperationPayload; +}; + +export declare namespace DMMF { + export { + datamodelEnumToSchemaEnum, + Document_2 as Document, + Mappings, + OtherOperationMappings, + DatamodelEnum, + SchemaEnum, + EnumValue, + Datamodel, + uniqueIndex, + PrimaryKey, + Model, + FieldKind, + FieldNamespace, + FieldLocation, + Field, + FieldDefault, + FieldDefaultScalar, + Index, + IndexType, + IndexField, + SortOrder, + Schema, + Query, + QueryOutput, + TypeRef, + InputTypeRef, + SchemaArg, + OutputType, + SchemaField, + OutputTypeRef, + Deprecation, + InputType, + FieldRefType, + FieldRefAllowType, + ModelMapping, + ModelAction + } +} + +declare namespace DMMF_2 { + export { + datamodelEnumToSchemaEnum, + Document_2 as Document, + Mappings, + OtherOperationMappings, + DatamodelEnum, + SchemaEnum, + EnumValue, + Datamodel, + uniqueIndex, + PrimaryKey, + Model, + FieldKind, + FieldNamespace, + FieldLocation, + Field, + FieldDefault, + FieldDefaultScalar, + Index, + IndexType, + IndexField, + SortOrder, + Schema, + Query, + QueryOutput, + TypeRef, + InputTypeRef, + SchemaArg, + OutputType, + SchemaField, + OutputTypeRef, + Deprecation, + InputType, + FieldRefType, + FieldRefAllowType, + ModelMapping, + ModelAction + } +} + +export declare function dmmfToRuntimeDataModel(dmmfDataModel: DMMF_2.Datamodel): RuntimeDataModel; + +declare type Document_2 = ReadonlyDeep_2<{ + datamodel: Datamodel; + schema: Schema; + mappings: Mappings; +}>; + +/** + * A generic driver adapter factory that allows the user to instantiate a + * driver adapter. The query and result types are specific to the adapter. + */ +declare interface DriverAdapterFactory extends AdapterInfo { + /** + * Instantiate a driver adapter. + */ + connect(): Promise>; +} + +declare type DynamicArgType = ArgType | { + arity: 'tuple'; + elements: ArgType[]; +}; + +/** Client */ +export declare type DynamicClientExtensionArgs> = { + [P in keyof C_]: unknown; +} & { + [K: symbol]: { + ctx: Optional, ITXClientDenyList> & { + $parent: Optional, ITXClientDenyList>; + }; + }; +}; + +export declare type DynamicClientExtensionThis> = { + [P in keyof ExtArgs['client']]: Return; +} & { + [P in Exclude]: DynamicModelExtensionThis, ExtArgs>; +} & { + [P in Exclude]: P extends keyof ClientOtherOps ? ClientOtherOps[P] : never; +} & { + [P in Exclude]: DynamicClientExtensionThisBuiltin[P]; +} & { + [K: symbol]: { + types: TypeMap['other']; + }; +}; + +export declare type DynamicClientExtensionThisBuiltin> = { + $extends: ExtendsHook<'extends', TypeMapCb, ExtArgs, Call>; + $transaction

[]>(arg: [...P], options?: { + isolationLevel?: TypeMap['meta']['txIsolationLevel']; + }): Promise>; + $transaction(fn: (client: Omit, ITXClientDenyList>) => Promise, options?: { + maxWait?: number; + timeout?: number; + isolationLevel?: TypeMap['meta']['txIsolationLevel']; + }): Promise; + $disconnect(): Promise; + $connect(): Promise; +}; + +/** Model */ +export declare type DynamicModelExtensionArgs> = { + [K in keyof M_]: K extends '$allModels' ? { + [P in keyof M_[K]]?: unknown; + } & { + [K: symbol]: {}; + } : K extends TypeMap['meta']['modelProps'] ? { + [P in keyof M_[K]]?: unknown; + } & { + [K: symbol]: { + ctx: DynamicModelExtensionThis, ExtArgs> & { + $parent: DynamicClientExtensionThis; + } & { + $name: ModelKey; + } & { + /** + * @deprecated Use `$name` instead. + */ + name: ModelKey; + }; + }; + } : never; +}; + +export declare type DynamicModelExtensionFluentApi = { + [K in keyof TypeMap['model'][M]['payload']['objects']]: (args?: Exact>) => PrismaPromise, [K]> | Null> & DynamicModelExtensionFluentApi>; +}; + +export declare type DynamicModelExtensionFnResult = P extends FluentOperation ? DynamicModelExtensionFluentApi & PrismaPromise | Null> : PrismaPromise>; + +export declare type DynamicModelExtensionFnResultBase = GetResult; + +export declare type DynamicModelExtensionFnResultNull

= P extends 'findUnique' | 'findFirst' ? null : never; + +export declare type DynamicModelExtensionOperationFn = {} extends TypeMap['model'][M]['operations'][P]['args'] ? (args?: Exact) => DynamicModelExtensionFnResult> : (args: Exact) => DynamicModelExtensionFnResult>; + +export declare type DynamicModelExtensionThis> = { + [P in keyof ExtArgs['model'][Uncapitalize]]: Return][P]>; +} & { + [P in Exclude]>]: DynamicModelExtensionOperationFn; +} & { + [P in Exclude<'fields', keyof ExtArgs['model'][Uncapitalize]>]: TypeMap['model'][M]['fields']; +} & { + [K: symbol]: { + types: TypeMap['model'][M]; + }; +}; + +/** Query */ +export declare type DynamicQueryExtensionArgs = { + [K in keyof Q_]: K extends '$allOperations' ? (args: { + model?: string; + operation: string; + args: any; + query: (args: any) => PrismaPromise; + }) => Promise : K extends '$allModels' ? { + [P in keyof Q_[K] | keyof TypeMap['model'][keyof TypeMap['model']]['operations'] | '$allOperations']?: P extends '$allOperations' ? DynamicQueryExtensionCb : P extends keyof TypeMap['model'][keyof TypeMap['model']]['operations'] ? DynamicQueryExtensionCb : never; + } : K extends TypeMap['meta']['modelProps'] ? { + [P in keyof Q_[K] | keyof TypeMap['model'][ModelKey]['operations'] | '$allOperations']?: P extends '$allOperations' ? DynamicQueryExtensionCb, keyof TypeMap['model'][ModelKey]['operations']> : P extends keyof TypeMap['model'][ModelKey]['operations'] ? DynamicQueryExtensionCb, P> : never; + } : K extends keyof TypeMap['other']['operations'] ? DynamicQueryExtensionCb<[TypeMap], 0, 'other', K> : never; +}; + +export declare type DynamicQueryExtensionCb = >(args: A) => Promise; + +export declare type DynamicQueryExtensionCbArgs = (_1 extends unknown ? _2 extends unknown ? { + args: DynamicQueryExtensionCbArgsArgs; + model: _0 extends 0 ? undefined : _1; + operation: _2; + query: >(args: A) => PrismaPromise; +} : never : never) & { + query: (args: DynamicQueryExtensionCbArgsArgs) => PrismaPromise; +}; + +export declare type DynamicQueryExtensionCbArgsArgs = _2 extends '$queryRaw' | '$executeRaw' ? Sql : TypeMap[_0][_1]['operations'][_2]['args']; + +/** Result */ +export declare type DynamicResultExtensionArgs = { + [K in keyof R_]: { + [P in keyof R_[K]]?: { + needs?: DynamicResultExtensionNeeds, R_[K][P]>; + compute(data: DynamicResultExtensionData, R_[K][P]>): any; + }; + }; +}; + +export declare type DynamicResultExtensionData = GetFindResult; + +export declare type DynamicResultExtensionNeeds = { + [K in keyof S]: K extends keyof TypeMap['model'][M]['payload']['scalars'] ? S[K] : never; +} & { + [N in keyof TypeMap['model'][M]['payload']['scalars']]?: boolean; +}; + +/** + * Placeholder value for "no text". + */ +export declare const empty: Sql; + +export declare type EmptyToUnknown = T; + +declare interface Engine { + /** The name of the engine. This is meant to be consumed externally */ + readonly name: string; + onBeforeExit(callback: () => Promise): void; + start(): Promise; + stop(): Promise; + version(forceRun?: boolean): Promise | string; + request(query: JsonQuery, options: RequestOptions): Promise>; + requestBatch(queries: JsonQuery[], options: RequestBatchOptions): Promise[]>; + transaction(action: 'start', headers: Transaction_2.TransactionHeaders, options: Transaction_2.Options): Promise>; + transaction(action: 'commit', headers: Transaction_2.TransactionHeaders, info: Transaction_2.InteractiveTransactionInfo): Promise; + transaction(action: 'rollback', headers: Transaction_2.TransactionHeaders, info: Transaction_2.InteractiveTransactionInfo): Promise; + metrics(options: MetricsOptionsJson): Promise; + metrics(options: MetricsOptionsPrometheus): Promise; + applyPendingMigrations(): Promise; +} + +declare interface EngineConfig { + cwd: string; + dirname: string; + enableDebugLogs?: boolean; + allowTriggerPanic?: boolean; + prismaPath?: string; + generator?: GeneratorConfig; + /** + * @remarks this field is used internally by Policy, do not rename or remove + */ + overrideDatasources: Datasources; + showColors?: boolean; + logQueries?: boolean; + logLevel?: 'info' | 'warn'; + env: Record; + flags?: string[]; + clientVersion: string; + engineVersion: string; + previewFeatures?: string[]; + engineEndpoint?: string; + activeProvider?: string; + logEmitter: LogEmitter; + transactionOptions: Transaction_2.Options; + /** + * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale`. + * If set, this is only used in the library engine, and all queries would be performed through it, + * rather than Prisma's Rust drivers. + * @remarks only used by LibraryEngine.ts + */ + adapter?: SqlDriverAdapterFactory; + /** + * The contents of the schema encoded into a string + */ + inlineSchema: string; + /** + * The contents of the datasource url saved in a string + * @remarks only used by DataProxyEngine.ts + * @remarks this field is used internally by Policy, do not rename or remove + */ + inlineDatasources: GetPrismaClientConfig['inlineDatasources']; + /** + * The string hash that was produced for a given schema + * @remarks only used by DataProxyEngine.ts + */ + inlineSchemaHash: string; + /** + * The helper for interaction with OTEL tracing + * @remarks enabling is determined by the client and @prisma/instrumentation package + */ + tracingHelper: TracingHelper; + /** + * Information about whether we have not found a schema.prisma file in the + * default location, and that we fell back to finding the schema.prisma file + * in the current working directory. This usually means it has been bundled. + */ + isBundled?: boolean; + /** + * Web Assembly module loading configuration + */ + engineWasm?: EngineWasmLoadingConfig; + compilerWasm?: CompilerWasmLoadingConfig; + /** + * Allows Accelerate to use runtime utilities from the client. These are + * necessary for the AccelerateEngine to function correctly. + */ + accelerateUtils?: { + resolveDatasourceUrl: typeof resolveDatasourceUrl; + getBatchRequestPayload: typeof getBatchRequestPayload; + prismaGraphQLToJSError: typeof prismaGraphQLToJSError; + PrismaClientUnknownRequestError: typeof PrismaClientUnknownRequestError; + PrismaClientInitializationError: typeof PrismaClientInitializationError; + PrismaClientKnownRequestError: typeof PrismaClientKnownRequestError; + debug: (...args: any[]) => void; + engineVersion: string; + clientVersion: string; + }; +} + +declare type EngineEvent = E extends QueryEventType ? QueryEvent : LogEvent; + +declare type EngineEventType = QueryEventType | LogEventType; + +declare type EngineSpan = { + id: EngineSpanId; + parentId: string | null; + name: string; + startTime: HrTime; + endTime: HrTime; + kind: EngineSpanKind; + attributes?: Record; + links?: EngineSpanId[]; +}; + +declare type EngineSpanId = string; + +declare type EngineSpanKind = 'client' | 'internal'; + +declare type EngineWasmLoadingConfig = { + /** + * WASM-bindgen runtime for corresponding module + */ + getRuntime: () => Promise<{ + __wbg_set_wasm(exports: unknown): void; + QueryEngine: QueryEngineConstructor; + }>; + /** + * Loads the raw wasm module for the wasm query engine. This configuration is + * generated specifically for each type of client, eg. Node.js client and Edge + * clients will have different implementations. + * @remarks this is a callback on purpose, we only load the wasm if needed. + * @remarks only used by LibraryEngine + */ + getQueryEngineWasmModule: () => Promise; +}; + +declare type EnumValue = ReadonlyDeep_2<{ + name: string; + dbName: string | null; +}>; + +declare type EnvPaths = { + rootEnvPath: string | null; + schemaEnvPath: string | undefined; +}; + +declare interface EnvValue { + fromEnvVar: null | string; + value: null | string; +} + +export declare type Equals = (() => T extends A ? 1 : 2) extends (() => T extends B ? 1 : 2) ? 1 : 0; + +declare type Error_2 = MappedError & { + originalCode?: string; + originalMessage?: string; +}; + +declare type ErrorCapturingFunction = T extends (...args: infer A) => Promise ? (...args: A) => Promise>> : T extends (...args: infer A) => infer R ? (...args: A) => Result_4> : T; + +declare type ErrorCapturingInterface = { + [K in keyof T]: ErrorCapturingFunction; +}; + +declare interface ErrorCapturingSqlDriverAdapter extends ErrorCapturingInterface { + readonly errorRegistry: ErrorRegistry; +} + +declare type ErrorFormat = 'pretty' | 'colorless' | 'minimal'; + +declare type ErrorRecord = { + error: unknown; +}; + +declare interface ErrorRegistry { + consumeError(id: number): ErrorRecord | undefined; +} + +declare interface ErrorWithBatchIndex { + batchRequestIdx?: number; +} + +declare type EventCallback = [E] extends ['beforeExit'] ? () => Promise : [E] extends [LogLevel] ? (event: EngineEvent) => void : never; + +export declare type Exact = (A extends unknown ? (W extends A ? { + [K in keyof A]: Exact; +} : W) : never) | (A extends Narrowable ? A : never); + +/** + * Defines Exception. + * + * string or an object with one of (message or name or code) and optional stack + */ +declare type Exception = ExceptionWithCode | ExceptionWithMessage | ExceptionWithName | string; + +declare interface ExceptionWithCode { + code: string | number; + name?: string; + message?: string; + stack?: string; +} + +declare interface ExceptionWithMessage { + code?: string | number; + message: string; + name?: string; + stack?: string; +} + +declare interface ExceptionWithName { + code?: string | number; + message?: string; + name: string; + stack?: string; +} + +declare type ExtendedEventType = LogLevel | 'beforeExit'; + +declare type ExtendedSpanOptions = SpanOptions & { + /** The name of the span */ + name: string; + internal?: boolean; + /** Whether it propagates context (?=true) */ + active?: boolean; + /** The context to append the span to */ + context?: Context; +}; + +/** $extends, defineExtension */ +export declare interface ExtendsHook, TypeMap extends TypeMapDef = Call> { + extArgs: ExtArgs; + , MergedArgs extends InternalArgs = MergeExtArgs>(extension: ((client: DynamicClientExtensionThis) => { + $extends: { + extArgs: Args; + }; + }) | { + name?: string; + query?: DynamicQueryExtensionArgs; + result?: DynamicResultExtensionArgs & R; + model?: DynamicModelExtensionArgs & M; + client?: DynamicClientExtensionArgs & C; + }): { + extends: DynamicClientExtensionThis, TypeMapCb, MergedArgs>; + define: (client: any) => { + $extends: { + extArgs: Args; + }; + }; + }[Variant]; +} + +export declare type ExtensionArgs = Optional; + +declare namespace Extensions { + export { + defineExtension, + getExtensionContext + } +} +export { Extensions } + +declare namespace Extensions_2 { + export { + InternalArgs, + DefaultArgs, + GetPayloadResultExtensionKeys, + GetPayloadResultExtensionObject, + GetPayloadResult, + GetSelect, + GetOmit, + DynamicQueryExtensionArgs, + DynamicQueryExtensionCb, + DynamicQueryExtensionCbArgs, + DynamicQueryExtensionCbArgsArgs, + DynamicResultExtensionArgs, + DynamicResultExtensionNeeds, + DynamicResultExtensionData, + DynamicModelExtensionArgs, + DynamicModelExtensionThis, + DynamicModelExtensionOperationFn, + DynamicModelExtensionFnResult, + DynamicModelExtensionFnResultBase, + DynamicModelExtensionFluentApi, + DynamicModelExtensionFnResultNull, + DynamicClientExtensionArgs, + DynamicClientExtensionThis, + ClientBuiltInProp, + DynamicClientExtensionThisBuiltin, + ExtendsHook, + MergeExtArgs, + AllModelsToStringIndex, + TypeMapDef, + DevTypeMapDef, + DevTypeMapFnDef, + ClientOptionDef, + ClientOtherOps, + TypeMapCbDef, + ModelKey, + RequiredExtensionArgs as UserArgs + } +} + +export declare type ExtractGlobalOmit = Options extends { + omit: { + [K in ModelName]: infer GlobalOmit; + }; +} ? GlobalOmit : {}; + +declare type Field = ReadonlyDeep_2<{ + kind: FieldKind; + name: string; + isRequired: boolean; + isList: boolean; + isUnique: boolean; + isId: boolean; + isReadOnly: boolean; + isGenerated?: boolean; + isUpdatedAt?: boolean; + /** + * Describes the data type in the same the way it is defined in the Prisma schema: + * BigInt, Boolean, Bytes, DateTime, Decimal, Float, Int, JSON, String, $ModelName + */ + type: string; + /** + * Native database type, if specified. + * For example, `@db.VarChar(191)` is encoded as `['VarChar', ['191']]`, + * `@db.Text` is encoded as `['Text', []]`. + */ + nativeType?: [string, string[]] | null; + dbName?: string | null; + hasDefaultValue: boolean; + default?: FieldDefault | FieldDefaultScalar | FieldDefaultScalar[]; + relationFromFields?: string[]; + relationToFields?: string[]; + relationOnDelete?: string; + relationOnUpdate?: string; + relationName?: string; + documentation?: string; +}>; + +declare type FieldDefault = ReadonlyDeep_2<{ + name: string; + args: Array; +}>; + +declare type FieldDefaultScalar = string | boolean | number; + +declare type FieldInitializer = { + type: 'value'; + value: PrismaValue; +} | { + type: 'lastInsertId'; +}; + +declare type FieldKind = 'scalar' | 'object' | 'enum' | 'unsupported'; + +declare type FieldLocation = 'scalar' | 'inputObjectTypes' | 'outputObjectTypes' | 'enumTypes' | 'fieldRefTypes'; + +declare type FieldNamespace = 'model' | 'prisma'; + +declare type FieldOperation = { + type: 'set'; + value: PrismaValue; +} | { + type: 'add'; + value: PrismaValue; +} | { + type: 'subtract'; + value: PrismaValue; +} | { + type: 'multiply'; + value: PrismaValue; +} | { + type: 'divide'; + value: PrismaValue; +}; + +/** + * A reference to a specific field of a specific model + */ +export declare interface FieldRef { + readonly modelName: Model; + readonly name: string; + readonly typeName: FieldType; + readonly isList: boolean; +} + +declare type FieldRefAllowType = TypeRef<'scalar' | 'enumTypes'>; + +declare type FieldRefType = ReadonlyDeep_2<{ + name: string; + allowTypes: FieldRefAllowType[]; + fields: SchemaArg[]; +}>; + +declare type FieldScalarType = { + type: 'string' | 'int' | 'bigint' | 'float' | 'boolean' | 'json' | 'object' | 'datetime' | 'decimal' | 'unsupported'; +} | { + type: 'enum'; + name: string; +} | { + type: 'bytes'; + encoding: 'array' | 'base64' | 'hex'; +}; + +declare type FieldType = { + arity: Arity; +} & FieldScalarType; + +declare type FluentOperation = 'findUnique' | 'findUniqueOrThrow' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'update' | 'upsert' | 'delete'; + +export declare interface Fn { + params: Params; + returns: Returns; +} + +declare type Fragment = { + type: 'stringChunk'; + chunk: string; +} | { + type: 'parameter'; +} | { + type: 'parameterTuple'; +} | { + type: 'parameterTupleList'; + itemPrefix: string; + itemSeparator: string; + itemSuffix: string; + groupSeparator: string; +}; + +declare interface GeneratorConfig { + name: string; + output: EnvValue | null; + isCustomOutput?: boolean; + provider: EnvValue; + config: { + /** `output` is a reserved name and will only be available directly at `generator.output` */ + output?: never; + /** `provider` is a reserved name and will only be available directly at `generator.provider` */ + provider?: never; + /** `binaryTargets` is a reserved name and will only be available directly at `generator.binaryTargets` */ + binaryTargets?: never; + /** `previewFeatures` is a reserved name and will only be available directly at `generator.previewFeatures` */ + previewFeatures?: never; + } & { + [key: string]: string | string[] | undefined; + }; + binaryTargets: BinaryTargetsEnvValue[]; + previewFeatures: string[]; + envPaths?: EnvPaths; + sourceFilePath: string; +} + +export declare type GetAggregateResult

= { + [K in keyof A as K extends Aggregate ? K : never]: K extends '_count' ? A[K] extends true ? number : Count : { + [J in keyof A[K] & string]: P['scalars'][J] | null; + }; +}; + +declare function getBatchRequestPayload(batch: JsonQuery[], transaction?: TransactionOptions_2): QueryEngineBatchRequest; + +export declare type GetBatchResult = { + count: number; +}; + +export declare type GetCountResult = A extends { + select: infer S; +} ? (S extends true ? number : Count) : number; + +declare function getExtensionContext(that: T): Context_2; + +export declare type GetFindResult

= Equals extends 1 ? DefaultSelection : A extends { + select: infer S extends object; +} & Record | { + include: infer I extends object; +} & Record ? { + [K in keyof S | keyof I as (S & I)[K] extends false | undefined | Skip | null ? never : K]: (S & I)[K] extends object ? P extends SelectablePayloadFields ? O extends OperationPayload ? GetFindResult[] : never : P extends SelectablePayloadFields ? O extends OperationPayload ? GetFindResult | SelectField & null : never : K extends '_count' ? Count> : never : P extends SelectablePayloadFields ? O extends OperationPayload ? DefaultSelection[] : never : P extends SelectablePayloadFields ? O extends OperationPayload ? DefaultSelection | SelectField & null : never : P extends { + scalars: { + [k in K]: infer O; + }; + } ? O : K extends '_count' ? Count : never; +} & (A extends { + include: any; +} & Record ? DefaultSelection : unknown) : DefaultSelection; + +export declare type GetGroupByResult

= A extends { + by: string[]; +} ? Array & { + [K in A['by'][number]]: P['scalars'][K]; +}> : A extends { + by: string; +} ? Array & { + [K in A['by']]: P['scalars'][K]; +}> : {}[]; + +export declare type GetOmit = { + [K in (string extends keyof R ? never : keyof R) | BaseKeys]?: boolean | ExtraType; +}; + +export declare type GetPayloadResult, R extends InternalArgs['result'][string]> = Omit> & GetPayloadResultExtensionObject; + +export declare type GetPayloadResultExtensionKeys = KR; + +export declare type GetPayloadResultExtensionObject = { + [K in GetPayloadResultExtensionKeys]: R[K] extends () => { + compute: (...args: any) => infer C; + } ? C : never; +}; + +export declare function getPrismaClient(config: GetPrismaClientConfig): { + new (optionsArg?: PrismaClientOptions): { + _originalClient: any; + _runtimeDataModel: RuntimeDataModel; + _requestHandler: RequestHandler; + _connectionPromise?: Promise | undefined; + _disconnectionPromise?: Promise | undefined; + _engineConfig: EngineConfig; + _accelerateEngineConfig: AccelerateEngineConfig; + _clientVersion: string; + _errorFormat: ErrorFormat; + _tracingHelper: TracingHelper; + _previewFeatures: string[]; + _activeProvider: string; + _globalOmit?: GlobalOmitOptions | undefined; + _extensions: MergedExtensionsList; + /** + * @remarks This is used internally by Policy, do not rename or remove + */ + _engine: Engine; + /** + * A fully constructed/applied Client that references the parent + * PrismaClient. This is used for Client extensions only. + */ + _appliedParent: any; + _createPrismaPromise: PrismaPromiseFactory; + $on(eventType: E, callback: EventCallback): any; + $connect(): Promise; + /** + * Disconnect from the database + */ + $disconnect(): Promise; + /** + * Executes a raw query and always returns a number + */ + $executeRawInternal(transaction: PrismaPromiseTransaction | undefined, clientMethod: string, args: RawQueryArgs, middlewareArgsMapper?: MiddlewareArgsMapper): Promise; + /** + * Executes a raw query provided through a safe tag function + * @see https://github.com/prisma/prisma/issues/7142 + * + * @param query + * @param values + * @returns + */ + $executeRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise_2; + /** + * Unsafe counterpart of `$executeRaw` that is susceptible to SQL injections + * @see https://github.com/prisma/prisma/issues/7142 + * + * @param query + * @param values + * @returns + */ + $executeRawUnsafe(query: string, ...values: RawValue[]): PrismaPromise_2; + /** + * Executes a raw command only for MongoDB + * + * @param command + * @returns + */ + $runCommandRaw(command: Record): PrismaPromise_2; + /** + * Executes a raw query and returns selected data + */ + $queryRawInternal(transaction: PrismaPromiseTransaction | undefined, clientMethod: string, args: RawQueryArgs, middlewareArgsMapper?: MiddlewareArgsMapper): Promise; + /** + * Executes a raw query provided through a safe tag function + * @see https://github.com/prisma/prisma/issues/7142 + * + * @param query + * @param values + * @returns + */ + $queryRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise_2; + /** + * Counterpart to $queryRaw, that returns strongly typed results + * @param typedSql + */ + $queryRawTyped(typedSql: UnknownTypedSql): PrismaPromise_2; + /** + * Unsafe counterpart of `$queryRaw` that is susceptible to SQL injections + * @see https://github.com/prisma/prisma/issues/7142 + * + * @param query + * @param values + * @returns + */ + $queryRawUnsafe(query: string, ...values: RawValue[]): PrismaPromise_2; + /** + * Execute a batch of requests in a transaction + * @param requests + * @param options + */ + _transactionWithArray({ promises, options, }: { + promises: Array>; + options?: BatchTransactionOptions; + }): Promise; + /** + * Perform a long-running transaction + * @param callback + * @param options + * @returns + */ + _transactionWithCallback({ callback, options, }: { + callback: (client: Client) => Promise; + options?: Options; + }): Promise; + _createItxClient(transaction: PrismaPromiseInteractiveTransaction): Client; + /** + * Execute queries within a transaction + * @param input a callback or a query list + * @param options to set timeouts (callback) + * @returns + */ + $transaction(input: any, options?: any): Promise; + /** + * Runs the middlewares over params before executing a request + * @param internalParams + * @returns + */ + _request(internalParams: InternalRequestParams): Promise; + _executeRequest({ args, clientMethod, dataPath, callsite, action, model, argsMapper, transaction, unpacker, otelParentCtx, customDataProxyFetch, }: InternalRequestParams): Promise; + $metrics: MetricsClient; + /** + * Shortcut for checking a preview flag + * @param feature preview flag + * @returns + */ + _hasPreviewFlag(feature: string): boolean; + $applyPendingMigrations(): Promise; + $extends: typeof $extends; + readonly [Symbol.toStringTag]: string; + }; +}; + +/** + * Config that is stored into the generated client. When the generated client is + * loaded, this same config is passed to {@link getPrismaClient} which creates a + * closure with that config around a non-instantiated [[PrismaClient]]. + */ +export declare type GetPrismaClientConfig = { + runtimeDataModel: RuntimeDataModel; + generator?: GeneratorConfig; + relativeEnvPaths?: { + rootEnvPath?: string | null; + schemaEnvPath?: string | null; + }; + relativePath: string; + dirname: string; + clientVersion: string; + engineVersion: string; + datasourceNames: string[]; + activeProvider: ActiveConnectorType; + /** + * The contents of the schema encoded into a string + * @remarks only used for the purpose of data proxy + */ + inlineSchema: string; + /** + * A special env object just for the data proxy edge runtime. + * Allows bundlers to inject their own env variables (Vercel). + * Allows platforms to declare global variables as env (Workers). + * @remarks only used for the purpose of data proxy + */ + injectableEdgeEnv?: () => LoadedEnv; + /** + * The contents of the datasource url saved in a string. + * This can either be an env var name or connection string. + * It is needed by the client to connect to the Data Proxy. + * @remarks only used for the purpose of data proxy + */ + inlineDatasources: { + [name in string]: { + url: EnvValue; + }; + }; + /** + * The string hash that was produced for a given schema + * @remarks only used for the purpose of data proxy + */ + inlineSchemaHash: string; + /** + * A marker to indicate that the client was not generated via `prisma + * generate` but was generated via `generate --postinstall` script instead. + * @remarks used to error for Vercel/Netlify for schema caching issues + */ + postinstall?: boolean; + /** + * Information about the CI where the Prisma Client has been generated. The + * name of the CI environment is stored at generation time because CI + * information is not always available at runtime. Moreover, the edge client + * has no notion of environment variables, so this works around that. + * @remarks used to error for Vercel/Netlify for schema caching issues + */ + ciName?: string; + /** + * Information about whether we have not found a schema.prisma file in the + * default location, and that we fell back to finding the schema.prisma file + * in the current working directory. This usually means it has been bundled. + */ + isBundled?: boolean; + /** + * A boolean that is `false` when the client was generated with --no-engine. At + * runtime, this means the client will be bound to be using the Data Proxy. + */ + copyEngine?: boolean; + /** + * Optional wasm loading configuration + */ + engineWasm?: EngineWasmLoadingConfig; + compilerWasm?: CompilerWasmLoadingConfig; +}; + +export declare type GetResult = { + findUnique: GetFindResult | null; + findUniqueOrThrow: GetFindResult; + findFirst: GetFindResult | null; + findFirstOrThrow: GetFindResult; + findMany: GetFindResult[]; + create: GetFindResult; + createMany: GetBatchResult; + createManyAndReturn: GetFindResult[]; + update: GetFindResult; + updateMany: GetBatchResult; + updateManyAndReturn: GetFindResult[]; + upsert: GetFindResult; + delete: GetFindResult; + deleteMany: GetBatchResult; + aggregate: GetAggregateResult; + count: GetCountResult; + groupBy: GetGroupByResult; + $queryRaw: unknown; + $queryRawTyped: unknown; + $executeRaw: number; + $queryRawUnsafe: unknown; + $executeRawUnsafe: number; + $runCommandRaw: JsonObject; + findRaw: JsonObject; + aggregateRaw: JsonObject; +}[OperationName]; + +export declare function getRuntime(): GetRuntimeOutput; + +declare type GetRuntimeOutput = { + id: RuntimeName; + prettyName: string; + isEdge: boolean; +}; + +export declare type GetSelect, R extends InternalArgs['result'][string], KR extends keyof R = string extends keyof R ? never : keyof R> = { + [K in KR | keyof Base]?: K extends KR ? boolean : Base[K]; +}; + +declare type GlobalOmitOptions = { + [modelName: string]: { + [fieldName: string]: boolean; + }; +}; + +declare type HandleErrorParams = { + args: JsArgs; + error: any; + clientMethod: string; + callsite?: CallSite; + transaction?: PrismaPromiseTransaction; + modelName?: string; + globalOmit?: GlobalOmitOptions; +}; + +declare type HrTime = [number, number]; + +/** + * Defines High-Resolution Time. + * + * The first number, HrTime[0], is UNIX Epoch time in seconds since 00:00:00 UTC on 1 January 1970. + * The second number, HrTime[1], represents the partial second elapsed since Unix Epoch time represented by first number in nanoseconds. + * For example, 2021-01-01T12:30:10.150Z in UNIX Epoch time in milliseconds is represented as 1609504210150. + * The first number is calculated by converting and truncating the Epoch time in milliseconds to seconds: + * HrTime[0] = Math.trunc(1609504210150 / 1000) = 1609504210. + * The second number is calculated by converting the digits after the decimal point of the subtraction, (1609504210150 / 1000) - HrTime[0], to nanoseconds: + * HrTime[1] = Number((1609504210.150 - HrTime[0]).toFixed(9)) * 1e9 = 150000000. + * This is represented in HrTime format as [1609504210, 150000000]. + */ +declare type HrTime_2 = [number, number]; + +declare type Index = ReadonlyDeep_2<{ + model: string; + type: IndexType; + isDefinedOnField: boolean; + name?: string; + dbName?: string; + algorithm?: string; + clustered?: boolean; + fields: IndexField[]; +}>; + +declare type IndexField = ReadonlyDeep_2<{ + name: string; + sortOrder?: SortOrder; + length?: number; + operatorClass?: string; +}>; + +declare type IndexType = 'id' | 'normal' | 'unique' | 'fulltext'; + +declare type InMemoryOps = { + pagination: Pagination | null; + distinct: string[] | null; + reverse: boolean; + linkingFields: string[] | null; + nested: Record; +}; + +/** + * Matches a JSON array. + * Unlike \`JsonArray\`, readonly arrays are assignable to this type. + */ +export declare interface InputJsonArray extends ReadonlyArray { +} + +/** + * Matches a JSON object. + * Unlike \`JsonObject\`, this type allows undefined and read-only properties. + */ +export declare type InputJsonObject = { + readonly [Key in string]?: InputJsonValue | null; +}; + +/** + * Matches any valid value that can be used as an input for operations like + * create and update as the value of a JSON field. Unlike \`JsonValue\`, this + * type allows read-only arrays and read-only object properties and disallows + * \`null\` at the top level. + * + * \`null\` cannot be used as the value of a JSON field because its meaning + * would be ambiguous. Use \`Prisma.JsonNull\` to store the JSON null value or + * \`Prisma.DbNull\` to clear the JSON value and set the field to the database + * NULL value instead. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values + */ +export declare type InputJsonValue = string | number | boolean | InputJsonObject | InputJsonArray | { + toJSON(): unknown; +}; + +declare type InputType = ReadonlyDeep_2<{ + name: string; + constraints: { + maxNumFields: number | null; + minNumFields: number | null; + fields?: string[]; + }; + meta?: { + source?: string; + grouping?: string; + }; + fields: SchemaArg[]; +}>; + +declare type InputTypeRef = TypeRef<'scalar' | 'inputObjectTypes' | 'enumTypes' | 'fieldRefTypes'>; + +declare type InteractiveTransactionInfo = { + /** + * Transaction ID returned by the query engine. + */ + id: string; + /** + * Arbitrary payload the meaning of which depends on the `Engine` implementation. + * For example, `DataProxyEngine` needs to associate different API endpoints with transactions. + * In `LibraryEngine` and `BinaryEngine` it is currently not used. + */ + payload: Payload; +}; + +declare type InteractiveTransactionOptions = Transaction_2.InteractiveTransactionInfo; + +export declare type InternalArgs = { + result: { + [K in keyof R]: { + [P in keyof R[K]]: () => R[K][P]; + }; + }; + model: { + [K in keyof M]: { + [P in keyof M[K]]: () => M[K][P]; + }; + }; + query: { + [K in keyof Q]: { + [P in keyof Q[K]]: () => Q[K][P]; + }; + }; + client: { + [K in keyof C]: () => C[K]; + }; +}; + +declare type InternalRequestParams = { + /** + * The original client method being called. + * Even though the rootField / operation can be changed, + * this method stays as it is, as it's what the user's + * code looks like + */ + clientMethod: string; + /** + * Name of js model that triggered the request. Might be used + * for warnings or error messages + */ + jsModelName?: string; + callsite?: CallSite; + transaction?: PrismaPromiseTransaction; + unpacker?: Unpacker; + otelParentCtx?: Context; + /** Used to "desugar" a user input into an "expanded" one */ + argsMapper?: (args?: UserArgs_2) => UserArgs_2; + /** Used to convert args for middleware and back */ + middlewareArgsMapper?: MiddlewareArgsMapper; + /** Used for Accelerate client extension via Data Proxy */ + customDataProxyFetch?: AccelerateExtensionFetchDecorator; +} & Omit; + +declare type IsolationLevel = 'READ UNCOMMITTED' | 'READ COMMITTED' | 'REPEATABLE READ' | 'SNAPSHOT' | 'SERIALIZABLE'; + +declare type IsolationLevel_2 = 'ReadUncommitted' | 'ReadCommitted' | 'RepeatableRead' | 'Snapshot' | 'Serializable'; + +declare function isSkip(value: unknown): value is Skip; + +export declare function isTypedSql(value: unknown): value is UnknownTypedSql; + +export declare type ITXClientDenyList = (typeof denylist)[number]; + +export declare const itxClientDenyList: readonly (string | symbol)[]; + +declare interface Job { + resolve: (data: any) => void; + reject: (data: any) => void; + request: any; +} + +/** + * Create a SQL query for a list of values. + */ +export declare function join(values: readonly RawValue[], separator?: string, prefix?: string, suffix?: string): Sql; + +declare type JoinExpression = { + child: QueryPlanNode; + on: [left: string, right: string][]; + parentField: string; + isRelationUnique: boolean; +}; + +export declare type JsArgs = { + select?: Selection_2; + include?: Selection_2; + omit?: Omission; + [argName: string]: JsInputValue; +}; + +export declare type JsInputValue = null | undefined | string | number | boolean | bigint | Uint8Array | Date | DecimalJsLike | ObjectEnumValue | RawParameters | JsonConvertible | FieldRef | JsInputValue[] | Skip | { + [key: string]: JsInputValue; +}; + +declare type JsonArgumentValue = number | string | boolean | null | RawTaggedValue | JsonArgumentValue[] | { + [key: string]: JsonArgumentValue; +}; + +/** + * From https://github.com/sindresorhus/type-fest/ + * Matches a JSON array. + */ +export declare interface JsonArray extends Array { +} + +export declare type JsonBatchQuery = { + batch: JsonQuery[]; + transaction?: { + isolationLevel?: IsolationLevel_2; + }; +}; + +export declare interface JsonConvertible { + toJSON(): unknown; +} + +declare type JsonFieldSelection = { + arguments?: Record | RawTaggedValue; + selection: JsonSelectionSet; +}; + +declare class JsonNull extends NullTypesEnumValue { + #private; +} + +/** + * From https://github.com/sindresorhus/type-fest/ + * Matches a JSON object. + * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. + */ +export declare type JsonObject = { + [Key in string]?: JsonValue; +}; + +export declare type JsonQuery = { + modelName?: string; + action: JsonQueryAction; + query: JsonFieldSelection; +}; + +declare type JsonQueryAction = 'findUnique' | 'findUniqueOrThrow' | 'findFirst' | 'findFirstOrThrow' | 'findMany' | 'createOne' | 'createMany' | 'createManyAndReturn' | 'updateOne' | 'updateMany' | 'updateManyAndReturn' | 'deleteOne' | 'deleteMany' | 'upsertOne' | 'aggregate' | 'groupBy' | 'executeRaw' | 'queryRaw' | 'runCommandRaw' | 'findRaw' | 'aggregateRaw'; + +declare type JsonSelectionSet = { + $scalars?: boolean; + $composites?: boolean; +} & { + [fieldName: string]: boolean | JsonFieldSelection; +}; + +/** + * From https://github.com/sindresorhus/type-fest/ + * Matches any valid JSON value. + */ +export declare type JsonValue = string | number | boolean | JsonObject | JsonArray | null; + +export declare type JsOutputValue = null | string | number | boolean | bigint | Uint8Array | Date | Decimal | JsOutputValue[] | { + [key: string]: JsOutputValue; +}; + +export declare type JsPromise = Promise & {}; + +declare type KnownErrorParams = { + code: string; + clientVersion: string; + meta?: Record; + batchRequestIdx?: number; +}; + +/** + * A pointer from the current {@link Span} to another span in the same trace or + * in a different trace. + * Few examples of Link usage. + * 1. Batch Processing: A batch of elements may contain elements associated + * with one or more traces/spans. Since there can only be one parent + * SpanContext, Link is used to keep reference to SpanContext of all + * elements in the batch. + * 2. Public Endpoint: A SpanContext in incoming client request on a public + * endpoint is untrusted from service provider perspective. In such case it + * is advisable to start a new trace with appropriate sampling decision. + * However, it is desirable to associate incoming SpanContext to new trace + * initiated on service provider side so two traces (from Client and from + * Service Provider) can be correlated. + */ +declare interface Link { + /** The {@link SpanContext} of a linked span. */ + context: SpanContext; + /** A set of {@link SpanAttributes} on the link. */ + attributes?: SpanAttributes; + /** Count of attributes of the link that were dropped due to collection limits */ + droppedAttributesCount?: number; +} + +declare type LoadedEnv = { + message?: string; + parsed: { + [x: string]: string; + }; +} | undefined; + +declare type LocationInFile = { + fileName: string; + lineNumber: number | null; + columnNumber: number | null; +}; + +declare type LogDefinition = { + level: LogLevel; + emit: 'stdout' | 'event'; +}; + +/** + * Typings for the events we emit. + * + * @remarks + * If this is updated, our edge runtime shim needs to be updated as well. + */ +declare type LogEmitter = { + on(event: E, listener: (event: EngineEvent) => void): LogEmitter; + emit(event: QueryEventType, payload: QueryEvent): boolean; + emit(event: LogEventType, payload: LogEvent): boolean; +}; + +declare type LogEvent = { + timestamp: Date; + message: string; + target: string; +}; + +declare type LogEventType = 'info' | 'warn' | 'error'; + +declare type LogLevel = 'info' | 'query' | 'warn' | 'error'; + +/** + * Generates more strict variant of an enum which, unlike regular enum, + * throws on non-existing property access. This can be useful in following situations: + * - we have an API, that accepts both `undefined` and `SomeEnumType` as an input + * - enum values are generated dynamically from DMMF. + * + * In that case, if using normal enums and no compile-time typechecking, using non-existing property + * will result in `undefined` value being used, which will be accepted. Using strict enum + * in this case will help to have a runtime exception, telling you that you are probably doing something wrong. + * + * Note: if you need to check for existence of a value in the enum you can still use either + * `in` operator or `hasOwnProperty` function. + * + * @param definition + * @returns + */ +export declare function makeStrictEnum>(definition: T): T; + +export declare function makeTypedQueryFactory(sql: string): (...values: any[]) => TypedSql; + +declare type MappedError = { + kind: 'GenericJs'; + id: number; +} | { + kind: 'UnsupportedNativeDataType'; + type: string; +} | { + kind: 'InvalidIsolationLevel'; + level: string; +} | { + kind: 'LengthMismatch'; + column?: string; +} | { + kind: 'UniqueConstraintViolation'; + constraint?: { + fields: string[]; + } | { + index: string; + } | { + foreignKey: {}; + }; +} | { + kind: 'NullConstraintViolation'; + constraint?: { + fields: string[]; + } | { + index: string; + } | { + foreignKey: {}; + }; +} | { + kind: 'ForeignKeyConstraintViolation'; + constraint?: { + fields: string[]; + } | { + index: string; + } | { + foreignKey: {}; + }; +} | { + kind: 'DatabaseNotReachable'; + host?: string; + port?: number; +} | { + kind: 'DatabaseDoesNotExist'; + db?: string; +} | { + kind: 'DatabaseAlreadyExists'; + db?: string; +} | { + kind: 'DatabaseAccessDenied'; + db?: string; +} | { + kind: 'ConnectionClosed'; +} | { + kind: 'TlsConnectionError'; + reason: string; +} | { + kind: 'AuthenticationFailed'; + user?: string; +} | { + kind: 'TransactionWriteConflict'; +} | { + kind: 'TableDoesNotExist'; + table?: string; +} | { + kind: 'ColumnNotFound'; + column?: string; +} | { + kind: 'TooManyConnections'; + cause: string; +} | { + kind: 'ValueOutOfRange'; + cause: string; +} | { + kind: 'MissingFullTextSearchIndex'; +} | { + kind: 'SocketTimeout'; +} | { + kind: 'InconsistentColumnData'; + cause: string; +} | { + kind: 'TransactionAlreadyClosed'; + cause: string; +} | { + kind: 'postgres'; + code: string; + severity: string; + message: string; + detail: string | undefined; + column: string | undefined; + hint: string | undefined; +} | { + kind: 'mysql'; + code: number; + message: string; + state: string; +} | { + kind: 'sqlite'; + /** + * Sqlite extended error code: https://www.sqlite.org/rescode.html + */ + extendedCode: number; + message: string; +} | { + kind: 'mssql'; + code: number; + message: string; +}; + +declare type Mappings = ReadonlyDeep_2<{ + modelOperations: ModelMapping[]; + otherOperations: { + read: string[]; + write: string[]; + }; +}>; + +/** + * Class that holds the list of all extensions, applied to particular instance, + * as well as resolved versions of the components that need to apply on + * different levels. Main idea of this class: avoid re-resolving as much of the + * stuff as possible when new extensions are added while also delaying the + * resolve until the point it is actually needed. For example, computed fields + * of the model won't be resolved unless the model is actually queried. Neither + * adding extensions with `client` component only cause other components to + * recompute. + */ +declare class MergedExtensionsList { + private head?; + private constructor(); + static empty(): MergedExtensionsList; + static single(extension: ExtensionArgs): MergedExtensionsList; + isEmpty(): boolean; + append(extension: ExtensionArgs): MergedExtensionsList; + getAllComputedFields(dmmfModelName: string): ComputedFieldsMap | undefined; + getAllClientExtensions(): ClientArg | undefined; + getAllModelExtensions(dmmfModelName: string): ModelArg | undefined; + getAllQueryCallbacks(jsModelName: string, operation: string): any; + getAllBatchQueryCallbacks(): BatchQueryOptionsCb[]; +} + +export declare type MergeExtArgs, Args extends Record> = ComputeDeep & AllModelsToStringIndex>; + +export declare type Metric = { + key: string; + value: T; + labels: Record; + description: string; +}; + +export declare type MetricHistogram = { + buckets: MetricHistogramBucket[]; + sum: number; + count: number; +}; + +export declare type MetricHistogramBucket = [maxValue: number, count: number]; + +export declare type Metrics = { + counters: Metric[]; + gauges: Metric[]; + histograms: Metric[]; +}; + +export declare class MetricsClient { + private _client; + constructor(client: Client); + /** + * Returns all metrics gathered up to this point in prometheus format. + * Result of this call can be exposed directly to prometheus scraping endpoint + * + * @param options + * @returns + */ + prometheus(options?: MetricsOptions): Promise; + /** + * Returns all metrics gathered up to this point in prometheus format. + * + * @param options + * @returns + */ + json(options?: MetricsOptions): Promise; +} + +declare type MetricsOptions = { + /** + * Labels to add to every metrics in key-value format + */ + globalLabels?: Record; +}; + +declare type MetricsOptionsCommon = { + globalLabels?: Record; +}; + +declare type MetricsOptionsJson = { + format: 'json'; +} & MetricsOptionsCommon; + +declare type MetricsOptionsPrometheus = { + format: 'prometheus'; +} & MetricsOptionsCommon; + +declare type MiddlewareArgsMapper = { + requestArgsToMiddlewareArgs(requestArgs: RequestArgs): MiddlewareArgs; + middlewareArgsToRequestArgs(middlewareArgs: MiddlewareArgs): RequestArgs; +}; + +declare type Model = ReadonlyDeep_2<{ + name: string; + dbName: string | null; + schema: string | null; + fields: Field[]; + uniqueFields: string[][]; + uniqueIndexes: uniqueIndex[]; + documentation?: string; + primaryKey: PrimaryKey | null; + isGenerated?: boolean; +}>; + +declare enum ModelAction { + findUnique = "findUnique", + findUniqueOrThrow = "findUniqueOrThrow", + findFirst = "findFirst", + findFirstOrThrow = "findFirstOrThrow", + findMany = "findMany", + create = "create", + createMany = "createMany", + createManyAndReturn = "createManyAndReturn", + update = "update", + updateMany = "updateMany", + updateManyAndReturn = "updateManyAndReturn", + upsert = "upsert", + delete = "delete", + deleteMany = "deleteMany", + groupBy = "groupBy", + count = "count",// TODO: count does not actually exist in DMMF + aggregate = "aggregate", + findRaw = "findRaw", + aggregateRaw = "aggregateRaw" +} + +export declare type ModelArg = { + [MethodName in string]: unknown; +}; + +export declare type ModelArgs = { + model: { + [ModelName in string]: ModelArg; + }; +}; + +export declare type ModelKey = M extends keyof TypeMap['model'] ? M : Capitalize; + +declare type ModelMapping = ReadonlyDeep_2<{ + model: string; + plural: string; + findUnique?: string | null; + findUniqueOrThrow?: string | null; + findFirst?: string | null; + findFirstOrThrow?: string | null; + findMany?: string | null; + create?: string | null; + createMany?: string | null; + createManyAndReturn?: string | null; + update?: string | null; + updateMany?: string | null; + updateManyAndReturn?: string | null; + upsert?: string | null; + delete?: string | null; + deleteMany?: string | null; + aggregate?: string | null; + groupBy?: string | null; + count?: string | null; + findRaw?: string | null; + aggregateRaw?: string | null; +}>; + +export declare type ModelQueryOptionsCb = (args: ModelQueryOptionsCbArgs) => Promise; + +export declare type ModelQueryOptionsCbArgs = { + model: string; + operation: string; + args: JsArgs; + query: (args: JsArgs) => Promise; +}; + +declare type MultiBatchResponse = { + type: 'multi'; + plans: QueryPlanNode[]; +}; + +export declare type NameArgs = { + name?: string; +}; + +export declare type Narrow = { + [K in keyof A]: A[K] extends Function ? A[K] : Narrow; +} | (A extends Narrowable ? A : never); + +export declare type Narrowable = string | number | bigint | boolean | []; + +export declare type NeverToUnknown = [T] extends [never] ? unknown : T; + +declare class NullTypesEnumValue extends ObjectEnumValue { + _getNamespace(): string; +} + +/** + * Base class for unique values of object-valued enums. + */ +export declare abstract class ObjectEnumValue { + constructor(arg?: symbol); + abstract _getNamespace(): string; + _getName(): string; + toString(): string; +} + +export declare const objectEnumValues: { + classes: { + DbNull: typeof DbNull; + JsonNull: typeof JsonNull; + AnyNull: typeof AnyNull; + }; + instances: { + DbNull: DbNull; + JsonNull: JsonNull; + AnyNull: AnyNull; + }; +}; + +declare const officialPrismaAdapters: readonly ["@prisma/adapter-planetscale", "@prisma/adapter-neon", "@prisma/adapter-libsql", "@prisma/adapter-better-sqlite3", "@prisma/adapter-d1", "@prisma/adapter-pg", "@prisma/adapter-mssql", "@prisma/adapter-mariadb"]; + +export declare type Omission = Record; + +declare type Omit_2 = { + [P in keyof T as P extends K ? never : P]: T[P]; +}; +export { Omit_2 as Omit } + +export declare type OmitValue = Key extends keyof Omit ? Omit[Key] : false; + +export declare type Operation = 'findFirst' | 'findFirstOrThrow' | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'aggregate' | 'count' | 'groupBy' | '$queryRaw' | '$executeRaw' | '$queryRawUnsafe' | '$executeRawUnsafe' | 'findRaw' | 'aggregateRaw' | '$runCommandRaw'; + +export declare type OperationPayload = { + name: string; + scalars: { + [ScalarName in string]: unknown; + }; + objects: { + [ObjectName in string]: unknown; + }; + composites: { + [CompositeName in string]: unknown; + }; +}; + +export declare type Optional = { + [P in K & keyof O]?: O[P]; +} & { + [P in Exclude]: O[P]; +}; + +export declare type OptionalFlat = { + [K in keyof T]?: T[K]; +}; + +export declare type OptionalKeys = { + [K in keyof O]-?: {} extends Pick_2 ? K : never; +}[keyof O]; + +declare type Options = { + /** Timeout for starting the transaction */ + maxWait?: number; + /** Timeout for the transaction body */ + timeout?: number; + /** Transaction isolation level */ + isolationLevel?: IsolationLevel_2; +}; + +declare type Options_2 = { + clientVersion: string; +}; + +export declare type Or = { + 0: { + 0: 0; + 1: 1; + }; + 1: { + 0: 1; + 1: 1; + }; +}[A][B]; + +declare type OtherOperationMappings = ReadonlyDeep_2<{ + read: string[]; + write: string[]; +}>; + +declare type OutputType = ReadonlyDeep_2<{ + name: string; + fields: SchemaField[]; +}>; + +declare type OutputTypeRef = TypeRef<'scalar' | 'outputObjectTypes' | 'enumTypes'>; + +declare type Pagination = { + cursor: Record | null; + take: number | null; + skip: number | null; +}; + +export declare function Param<$Type, $Value extends string>(name: $Value): Param<$Type, $Value>; + +export declare type Param = { + readonly name: $Value; +}; + +export declare type PatchFlat = O1 & Omit_2; + +export declare type Path = O extends unknown ? P extends [infer K, ...infer R] ? K extends keyof O ? Path : Default : O : never; + +export declare type Payload = T extends { + [K: symbol]: { + types: { + payload: any; + }; + }; +} ? T[symbol]['types']['payload'] : any; + +export declare type PayloadToResult = RenameAndNestPayloadKeys

> = { + [K in keyof O]?: O[K][K] extends any[] ? PayloadToResult[] : O[K][K] extends object ? PayloadToResult : O[K][K]; +}; + +declare type Pick_2 = { + [P in keyof T as P extends K ? P : never]: T[P]; +}; +export { Pick_2 as Pick } + +declare interface PlaceholderFormat { + prefix: string; + hasNumbering: boolean; +} + +declare type PrimaryKey = ReadonlyDeep_2<{ + name: string | null; + fields: string[]; +}>; + +export declare class PrismaClientInitializationError extends Error { + clientVersion: string; + errorCode?: string; + retryable?: boolean; + constructor(message: string, clientVersion: string, errorCode?: string); + get [Symbol.toStringTag](): string; +} + +export declare class PrismaClientKnownRequestError extends Error implements ErrorWithBatchIndex { + code: string; + meta?: Record; + clientVersion: string; + batchRequestIdx?: number; + constructor(message: string, { code, clientVersion, meta, batchRequestIdx }: KnownErrorParams); + get [Symbol.toStringTag](): string; +} + +export declare type PrismaClientOptions = { + /** + * Overwrites the primary datasource url from your schema.prisma file + */ + datasourceUrl?: string; + /** + * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale. + */ + adapter?: SqlDriverAdapterFactory | null; + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasources?: Datasources; + /** + * @default "colorless" + */ + errorFormat?: ErrorFormat; + /** + * The default values for Transaction options + * maxWait ?= 2000 + * timeout ?= 5000 + */ + transactionOptions?: Transaction_2.Options; + /** + * @example + * \`\`\` + * // Defaults to stdout + * log: ['query', 'info', 'warn'] + * + * // Emit as events + * log: [ + * { emit: 'stdout', level: 'query' }, + * { emit: 'stdout', level: 'info' }, + * { emit: 'stdout', level: 'warn' } + * ] + * \`\`\` + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). + */ + log?: Array; + omit?: GlobalOmitOptions; + /** + * @internal + * You probably don't want to use this. \`__internal\` is used by internal tooling. + */ + __internal?: { + debug?: boolean; + engine?: { + cwd?: string; + binaryPath?: string; + endpoint?: string; + allowTriggerPanic?: boolean; + }; + /** This can be used for testing purposes */ + configOverride?: (config: GetPrismaClientConfig) => GetPrismaClientConfig; + }; +}; + +export declare class PrismaClientRustPanicError extends Error { + clientVersion: string; + constructor(message: string, clientVersion: string); + get [Symbol.toStringTag](): string; +} + +export declare class PrismaClientUnknownRequestError extends Error implements ErrorWithBatchIndex { + clientVersion: string; + batchRequestIdx?: number; + constructor(message: string, { clientVersion, batchRequestIdx }: UnknownErrorParams); + get [Symbol.toStringTag](): string; +} + +export declare class PrismaClientValidationError extends Error { + name: string; + clientVersion: string; + constructor(message: string, { clientVersion }: Options_2); + get [Symbol.toStringTag](): string; +} + +declare function prismaGraphQLToJSError({ error, user_facing_error }: RequestError, clientVersion: string, activeProvider: string): PrismaClientKnownRequestError | PrismaClientUnknownRequestError; + +declare type PrismaOperationSpec = { + args: TArgs; + action: TAction; + model: string; +}; + +export declare interface PrismaPromise extends Promise { + [Symbol.toStringTag]: 'PrismaPromise'; +} + +/** + * Prisma's `Promise` that is backwards-compatible. All additions on top of the + * original `Promise` are optional so that it can be backwards-compatible. + * @see [[createPrismaPromise]] + */ +declare interface PrismaPromise_2 = any> extends Promise { + get spec(): TSpec; + /** + * Extension of the original `.then` function + * @param onfulfilled same as regular promises + * @param onrejected same as regular promises + * @param transaction transaction options + */ + then(onfulfilled?: (value: TResult) => R1 | PromiseLike, onrejected?: (error: unknown) => R2 | PromiseLike, transaction?: PrismaPromiseTransaction): Promise; + /** + * Extension of the original `.catch` function + * @param onrejected same as regular promises + * @param transaction transaction options + */ + catch(onrejected?: ((reason: any) => R | PromiseLike) | undefined | null, transaction?: PrismaPromiseTransaction): Promise; + /** + * Extension of the original `.finally` function + * @param onfinally same as regular promises + * @param transaction transaction options + */ + finally(onfinally?: (() => void) | undefined | null, transaction?: PrismaPromiseTransaction): Promise; + /** + * Called when executing a batch of regular tx + * @param transaction transaction options for batch tx + */ + requestTransaction?(transaction: PrismaPromiseBatchTransaction): PromiseLike; +} + +declare type PrismaPromiseBatchTransaction = { + kind: 'batch'; + id: number; + isolationLevel?: IsolationLevel_2; + index: number; + lock: PromiseLike; +}; + +declare type PrismaPromiseCallback = (transaction?: PrismaPromiseTransaction) => Promise; + +/** + * Creates a [[PrismaPromise]]. It is Prisma's implementation of `Promise` which + * is essentially a proxy for `Promise`. All the transaction-compatible client + * methods return one, this allows for pre-preparing queries without executing + * them until `.then` is called. It's the foundation of Prisma's query batching. + * @param callback that will be wrapped within our promise implementation + * @see [[PrismaPromise]] + * @returns + */ +declare type PrismaPromiseFactory = >(callback: PrismaPromiseCallback, op?: T) => PrismaPromise_2; + +declare type PrismaPromiseInteractiveTransaction = { + kind: 'itx'; + id: string; + payload: PayloadType; +}; + +declare type PrismaPromiseTransaction = PrismaPromiseBatchTransaction | PrismaPromiseInteractiveTransaction; + +declare type PrismaValue = string | boolean | number | PrismaValue[] | null | Record | PrismaValuePlaceholder | PrismaValueGenerator; + +declare type PrismaValueGenerator = { + prisma__type: 'generatorCall'; + prisma__value: { + name: string; + args: PrismaValue[]; + }; +}; + +declare type PrismaValuePlaceholder = { + prisma__type: 'param'; + prisma__value: { + name: string; + type: string; + }; +}; + +export declare const PrivateResultType: unique symbol; + +declare type Provider = 'mysql' | 'postgres' | 'sqlite' | 'sqlserver'; + +declare namespace Public { + export { + validator + } +} +export { Public } + +declare namespace Public_2 { + export { + Args, + Result, + Payload, + PrismaPromise, + Operation, + Exact + } +} + +declare type Query = ReadonlyDeep_2<{ + name: string; + args: SchemaArg[]; + output: QueryOutput; +}>; + +declare interface Queryable extends AdapterInfo { + /** + * Execute a query and return its result. + */ + queryRaw(params: Query): Promise; + /** + * Execute a query and return the number of affected rows. + */ + executeRaw(params: Query): Promise; +} + +declare type QueryCompiler = { + compile(request: string): {}; + compileBatch(batchRequest: string): BatchResponse; + free(): void; +}; + +declare interface QueryCompilerConstructor { + new (options: QueryCompilerOptions): QueryCompiler; +} + +declare type QueryCompilerOptions = { + datamodel: string; + provider: Provider; + connectionInfo: ConnectionInfo; +}; + +declare type QueryEngineBatchGraphQLRequest = { + batch: QueryEngineRequest[]; + transaction?: boolean; + isolationLevel?: IsolationLevel_2; +}; + +declare type QueryEngineBatchRequest = QueryEngineBatchGraphQLRequest | JsonBatchQuery; + +declare type QueryEngineConfig = { + datamodel: string; + configDir: string; + logQueries: boolean; + ignoreEnvVarErrors: boolean; + datasourceOverrides: Record; + env: Record; + logLevel: QueryEngineLogLevel; + engineProtocol: QueryEngineProtocol; + enableTracing: boolean; +}; + +declare interface QueryEngineConstructor { + new (config: QueryEngineConfig, logger: (log: string) => void, adapter?: ErrorCapturingSqlDriverAdapter): QueryEngineInstance; +} + +declare type QueryEngineInstance = { + connect(headers: string, requestId: string): Promise; + disconnect(headers: string, requestId: string): Promise; + /** + * Frees any resources allocated by the engine's WASM instance. This method is automatically created by WASM bindgen. + * Noop for other engines. + */ + free?(): void; + /** + * @param requestStr JSON.stringified `QueryEngineRequest | QueryEngineBatchRequest` + * @param headersStr JSON.stringified `QueryEngineRequestHeaders` + */ + query(requestStr: string, headersStr: string, transactionId: string | undefined, requestId: string): Promise; + sdlSchema?(): Promise; + startTransaction(options: string, traceHeaders: string, requestId: string): Promise; + commitTransaction(id: string, traceHeaders: string, requestId: string): Promise; + rollbackTransaction(id: string, traceHeaders: string, requestId: string): Promise; + metrics?(options: string): Promise; + applyPendingMigrations?(): Promise; + trace(requestId: string): Promise; +}; + +declare type QueryEngineLogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'off'; + +declare type QueryEngineProtocol = 'graphql' | 'json'; + +declare type QueryEngineRequest = { + query: string; + variables: Object; +}; + +declare type QueryEngineResultData = { + data: T; +}; + +declare type QueryEvent = { + timestamp: Date; + query: string; + params: string; + duration: number; + target: string; +}; + +declare type QueryEventType = 'query'; + +declare type QueryIntrospectionBuiltinType = 'int' | 'bigint' | 'float' | 'double' | 'string' | 'enum' | 'bytes' | 'bool' | 'char' | 'decimal' | 'json' | 'xml' | 'uuid' | 'datetime' | 'date' | 'time' | 'int-array' | 'bigint-array' | 'float-array' | 'double-array' | 'string-array' | 'char-array' | 'bytes-array' | 'bool-array' | 'decimal-array' | 'json-array' | 'xml-array' | 'uuid-array' | 'datetime-array' | 'date-array' | 'time-array' | 'null' | 'unknown'; + +declare type QueryMiddlewareParams = { + /** The model this is executed on */ + model?: string; + /** The action that is being handled */ + action: Action; + /** TODO what is this */ + dataPath: string[]; + /** TODO what is this */ + runInTransaction: boolean; + args?: UserArgs_2; +}; + +export declare type QueryOptions = { + query: { + [ModelName in string]: { + [ModelAction in string]: ModelQueryOptionsCb; + } | QueryOptionsCb; + }; +}; + +export declare type QueryOptionsCb = (args: QueryOptionsCbArgs) => Promise; + +export declare type QueryOptionsCbArgs = { + model?: string; + operation: string; + args: JsArgs | RawQueryArgs; + query: (args: JsArgs | RawQueryArgs) => Promise; +}; + +declare type QueryOutput = ReadonlyDeep_2<{ + name: string; + isRequired: boolean; + isList: boolean; +}>; + +declare type QueryPlanBinding = { + name: string; + expr: QueryPlanNode; +}; + +declare type QueryPlanDbQuery = { + type: 'rawSql'; + sql: string; + args: PrismaValue[]; + argTypes: ArgType[]; +} | { + type: 'templateSql'; + fragments: Fragment[]; + placeholderFormat: PlaceholderFormat; + args: PrismaValue[]; + argTypes: DynamicArgType[]; + chunkable: boolean; +}; + +declare type QueryPlanNode = { + type: 'value'; + args: PrismaValue; +} | { + type: 'seq'; + args: QueryPlanNode[]; +} | { + type: 'get'; + args: { + name: string; + }; +} | { + type: 'let'; + args: { + bindings: QueryPlanBinding[]; + expr: QueryPlanNode; + }; +} | { + type: 'getFirstNonEmpty'; + args: { + names: string[]; + }; +} | { + type: 'query'; + args: QueryPlanDbQuery; +} | { + type: 'execute'; + args: QueryPlanDbQuery; +} | { + type: 'reverse'; + args: QueryPlanNode; +} | { + type: 'sum'; + args: QueryPlanNode[]; +} | { + type: 'concat'; + args: QueryPlanNode[]; +} | { + type: 'unique'; + args: QueryPlanNode; +} | { + type: 'required'; + args: QueryPlanNode; +} | { + type: 'join'; + args: { + parent: QueryPlanNode; + children: JoinExpression[]; + }; +} | { + type: 'mapField'; + args: { + field: string; + records: QueryPlanNode; + }; +} | { + type: 'transaction'; + args: QueryPlanNode; +} | { + type: 'dataMap'; + args: { + expr: QueryPlanNode; + structure: ResultNode; + enums: Record>; + }; +} | { + type: 'validate'; + args: { + expr: QueryPlanNode; + rules: DataRule[]; + } & ValidationError; +} | { + type: 'if'; + args: { + value: QueryPlanNode; + rule: DataRule; + then: QueryPlanNode; + else: QueryPlanNode; + }; +} | { + type: 'unit'; +} | { + type: 'diff'; + args: { + from: QueryPlanNode; + to: QueryPlanNode; + fields: string[]; + }; +} | { + type: 'initializeRecord'; + args: { + expr: QueryPlanNode; + fields: Record; + }; +} | { + type: 'mapRecord'; + args: { + expr: QueryPlanNode; + fields: Record; + }; +} | { + type: 'process'; + args: { + expr: QueryPlanNode; + operations: InMemoryOps; + }; +}; + +/** + * Create raw SQL statement. + */ +export declare function raw(value: string): Sql; + +export declare type RawParameters = { + __prismaRawParameters__: true; + values: string; +}; + +export declare type RawQueryArgs = Sql | UnknownTypedSql | [query: string, ...values: RawValue[]]; + +declare type RawResponse = { + columns: string[]; + types: QueryIntrospectionBuiltinType[]; + rows: unknown[][]; +}; + +declare type RawTaggedValue = { + $type: 'Raw'; + value: unknown; +}; + +/** + * Supported value or SQL instance. + */ +export declare type RawValue = Value | Sql; + +export declare type ReadonlyDeep = { + readonly [K in keyof T]: ReadonlyDeep; +}; + +declare type ReadonlyDeep_2 = { + +readonly [K in keyof O]: ReadonlyDeep_2; +}; + +declare type Record_2 = { + [P in T]: U; +}; +export { Record_2 as Record } + +export declare type RenameAndNestPayloadKeys

= { + [K in keyof P as K extends 'scalars' | 'objects' | 'composites' ? keyof P[K] : never]: P[K]; +}; + +declare type RequestBatchOptions = { + transaction?: TransactionOptions_2; + traceparent?: string; + numTry?: number; + containsWrite: boolean; + customDataProxyFetch?: AccelerateExtensionFetchDecorator; +}; + +declare interface RequestError { + error: string; + user_facing_error: { + is_panic: boolean; + message: string; + meta?: Record; + error_code?: string; + batch_request_idx?: number; + }; +} + +declare class RequestHandler { + client: Client; + dataloader: DataLoader; + private logEmitter?; + constructor(client: Client, logEmitter?: LogEmitter); + request(params: RequestParams): Promise; + mapQueryEngineResult({ dataPath, unpacker }: RequestParams, response: QueryEngineResultData): any; + /** + * Handles the error and logs it, logging the error is done synchronously waiting for the event + * handlers to finish. + */ + handleAndLogRequestError(params: HandleErrorParams): never; + handleRequestError({ error, clientMethod, callsite, transaction, args, modelName, globalOmit, }: HandleErrorParams): never; + sanitizeMessage(message: any): any; + unpack(data: unknown, dataPath: string[], unpacker?: Unpacker): any; + get [Symbol.toStringTag](): string; +} + +declare type RequestOptions = { + traceparent?: string; + numTry?: number; + interactiveTransaction?: InteractiveTransactionOptions; + isWrite: boolean; + customDataProxyFetch?: AccelerateExtensionFetchDecorator; +}; + +declare type RequestParams = { + modelName?: string; + action: Action; + protocolQuery: JsonQuery; + dataPath: string[]; + clientMethod: string; + callsite?: CallSite; + transaction?: PrismaPromiseTransaction; + extensions: MergedExtensionsList; + args?: any; + headers?: Record; + unpacker?: Unpacker; + otelParentCtx?: Context; + otelChildCtx?: Context; + globalOmit?: GlobalOmitOptions; + customDataProxyFetch?: AccelerateExtensionFetchDecorator; +}; + +declare type RequiredExtensionArgs = NameArgs & ResultArgs & ModelArgs & ClientArgs & QueryOptions; +export { RequiredExtensionArgs } +export { RequiredExtensionArgs as UserArgs } + +export declare type RequiredKeys = { + [K in keyof O]-?: {} extends Pick_2 ? never : K; +}[keyof O]; + +declare function resolveDatasourceUrl({ inlineDatasources, overrideDatasources, env, clientVersion, }: { + inlineDatasources: GetPrismaClientConfig['inlineDatasources']; + overrideDatasources: Datasources; + env: Record; + clientVersion: string; +}): string; + +export declare type Result = T extends { + [K: symbol]: { + types: { + payload: any; + }; + }; +} ? GetResult : GetResult<{ + composites: {}; + objects: {}; + scalars: {}; + name: ''; +}, {}, F>; + +export declare type Result_2 = Result; + +declare namespace Result_3 { + export { + Count, + GetFindResult, + SelectablePayloadFields, + SelectField, + DefaultSelection, + UnwrapPayload, + ApplyOmit, + OmitValue, + GetCountResult, + Aggregate, + GetAggregateResult, + GetBatchResult, + GetGroupByResult, + GetResult, + ExtractGlobalOmit + } +} + +declare type Result_4 = { + map(fn: (value: T) => U): Result_4; + flatMap(fn: (value: T) => Result_4): Result_4; +} & ({ + readonly ok: true; + readonly value: T; +} | { + readonly ok: false; + readonly error: Error_2; +}); + +export declare type ResultArg = { + [FieldName in string]: ResultFieldDefinition; +}; + +export declare type ResultArgs = { + result: { + [ModelName in string]: ResultArg; + }; +}; + +export declare type ResultArgsFieldCompute = (model: any) => unknown; + +export declare type ResultFieldDefinition = { + needs?: { + [FieldName in string]: boolean; + }; + compute: ResultArgsFieldCompute; +}; + +declare type ResultNode = { + type: 'affectedRows'; +} | { + type: 'object'; + fields: Record; + serializedName: string | null; + skipNulls: boolean; +} | { + type: 'field'; + dbName: string; + fieldType: FieldType; +}; + +export declare type Return = T extends (...args: any[]) => infer R ? R : T; + +export declare type RuntimeDataModel = { + readonly models: Record; + readonly enums: Record; + readonly types: Record; +}; + +declare type RuntimeEnum = Omit; + +declare type RuntimeModel = Omit; + +declare type RuntimeName = 'workerd' | 'deno' | 'netlify' | 'node' | 'bun' | 'edge-light' | ''; + +declare type Schema = ReadonlyDeep_2<{ + rootQueryType?: string; + rootMutationType?: string; + inputObjectTypes: { + model?: InputType[]; + prisma?: InputType[]; + }; + outputObjectTypes: { + model: OutputType[]; + prisma: OutputType[]; + }; + enumTypes: { + model?: SchemaEnum[]; + prisma: SchemaEnum[]; + }; + fieldRefTypes: { + prisma?: FieldRefType[]; + }; +}>; + +declare type SchemaArg = ReadonlyDeep_2<{ + name: string; + comment?: string; + isNullable: boolean; + isRequired: boolean; + inputTypes: InputTypeRef[]; + requiresOtherFields?: string[]; + deprecation?: Deprecation; +}>; + +declare type SchemaEnum = ReadonlyDeep_2<{ + name: string; + values: string[]; +}>; + +declare type SchemaField = ReadonlyDeep_2<{ + name: string; + isNullable?: boolean; + outputType: OutputTypeRef; + args: SchemaArg[]; + deprecation?: Deprecation; + documentation?: string; +}>; + +export declare type Select = T extends U ? T : never; + +export declare type SelectablePayloadFields = { + objects: { + [k in K]: O; + }; +} | { + composites: { + [k in K]: O; + }; +}; + +export declare type SelectField

, K extends PropertyKey> = P extends { + objects: Record; +} ? P['objects'][K] : P extends { + composites: Record; +} ? P['composites'][K] : never; + +declare type Selection_2 = Record; +export { Selection_2 as Selection } + +export declare function serializeJsonQuery({ modelName, action, args, runtimeDataModel, extensions, callsite, clientMethod, errorFormat, clientVersion, previewFeatures, globalOmit, }: SerializeParams): JsonQuery; + +declare type SerializeParams = { + runtimeDataModel: RuntimeDataModel; + modelName?: string; + action: Action; + args?: JsArgs; + extensions?: MergedExtensionsList; + callsite?: CallSite; + clientMethod: string; + clientVersion: string; + errorFormat: ErrorFormat; + previewFeatures: string[]; + globalOmit?: GlobalOmitOptions; +}; + +declare class Skip { + constructor(param?: symbol); + ifUndefined(value: T | undefined): T | Skip; +} + +export declare const skip: Skip; + +declare type SortOrder = 'asc' | 'desc'; + +/** + * An interface that represents a span. A span represents a single operation + * within a trace. Examples of span might include remote procedure calls or a + * in-process function calls to sub-components. A Trace has a single, top-level + * "root" Span that in turn may have zero or more child Spans, which in turn + * may have children. + * + * Spans are created by the {@link Tracer.startSpan} method. + */ +declare interface Span { + /** + * Returns the {@link SpanContext} object associated with this Span. + * + * Get an immutable, serializable identifier for this span that can be used + * to create new child spans. Returned SpanContext is usable even after the + * span ends. + * + * @returns the SpanContext object associated with this Span. + */ + spanContext(): SpanContext; + /** + * Sets an attribute to the span. + * + * Sets a single Attribute with the key and value passed as arguments. + * + * @param key the key for this attribute. + * @param value the value for this attribute. Setting a value null or + * undefined is invalid and will result in undefined behavior. + */ + setAttribute(key: string, value: SpanAttributeValue): this; + /** + * Sets attributes to the span. + * + * @param attributes the attributes that will be added. + * null or undefined attribute values + * are invalid and will result in undefined behavior. + */ + setAttributes(attributes: SpanAttributes): this; + /** + * Adds an event to the Span. + * + * @param name the name of the event. + * @param [attributesOrStartTime] the attributes that will be added; these are + * associated with this event. Can be also a start time + * if type is {@type TimeInput} and 3rd param is undefined + * @param [startTime] start time of the event. + */ + addEvent(name: string, attributesOrStartTime?: SpanAttributes | TimeInput, startTime?: TimeInput): this; + /** + * Adds a single link to the span. + * + * Links added after the creation will not affect the sampling decision. + * It is preferred span links be added at span creation. + * + * @param link the link to add. + */ + addLink(link: Link): this; + /** + * Adds multiple links to the span. + * + * Links added after the creation will not affect the sampling decision. + * It is preferred span links be added at span creation. + * + * @param links the links to add. + */ + addLinks(links: Link[]): this; + /** + * Sets a status to the span. If used, this will override the default Span + * status. Default is {@link SpanStatusCode.UNSET}. SetStatus overrides the value + * of previous calls to SetStatus on the Span. + * + * @param status the SpanStatus to set. + */ + setStatus(status: SpanStatus): this; + /** + * Updates the Span name. + * + * This will override the name provided via {@link Tracer.startSpan}. + * + * Upon this update, any sampling behavior based on Span name will depend on + * the implementation. + * + * @param name the Span name. + */ + updateName(name: string): this; + /** + * Marks the end of Span execution. + * + * Call to End of a Span MUST not have any effects on child spans. Those may + * still be running and can be ended later. + * + * Do not return `this`. The Span generally should not be used after it + * is ended so chaining is not desired in this context. + * + * @param [endTime] the time to set as Span's end time. If not provided, + * use the current time as the span's end time. + */ + end(endTime?: TimeInput): void; + /** + * Returns the flag whether this span will be recorded. + * + * @returns true if this Span is active and recording information like events + * with the `AddEvent` operation and attributes using `setAttributes`. + */ + isRecording(): boolean; + /** + * Sets exception as a span event + * @param exception the exception the only accepted values are string or Error + * @param [time] the time to set as Span's event time. If not provided, + * use the current time. + */ + recordException(exception: Exception, time?: TimeInput): void; +} + +/** + * @deprecated please use {@link Attributes} + */ +declare type SpanAttributes = Attributes; + +/** + * @deprecated please use {@link AttributeValue} + */ +declare type SpanAttributeValue = AttributeValue; + +declare type SpanCallback = (span?: Span, context?: Context) => R; + +/** + * A SpanContext represents the portion of a {@link Span} which must be + * serialized and propagated along side of a {@link Baggage}. + */ +declare interface SpanContext { + /** + * The ID of the trace that this span belongs to. It is worldwide unique + * with practically sufficient probability by being made as 16 randomly + * generated bytes, encoded as a 32 lowercase hex characters corresponding to + * 128 bits. + */ + traceId: string; + /** + * The ID of the Span. It is globally unique with practically sufficient + * probability by being made as 8 randomly generated bytes, encoded as a 16 + * lowercase hex characters corresponding to 64 bits. + */ + spanId: string; + /** + * Only true if the SpanContext was propagated from a remote parent. + */ + isRemote?: boolean; + /** + * Trace flags to propagate. + * + * It is represented as 1 byte (bitmap). Bit to represent whether trace is + * sampled or not. When set, the least significant bit documents that the + * caller may have recorded trace data. A caller who does not record trace + * data out-of-band leaves this flag unset. + * + * see {@link TraceFlags} for valid flag values. + */ + traceFlags: number; + /** + * Tracing-system-specific info to propagate. + * + * The tracestate field value is a `list` as defined below. The `list` is a + * series of `list-members` separated by commas `,`, and a list-member is a + * key/value pair separated by an equals sign `=`. Spaces and horizontal tabs + * surrounding `list-members` are ignored. There can be a maximum of 32 + * `list-members` in a `list`. + * More Info: https://www.w3.org/TR/trace-context/#tracestate-field + * + * Examples: + * Single tracing system (generic format): + * tracestate: rojo=00f067aa0ba902b7 + * Multiple tracing systems (with different formatting): + * tracestate: rojo=00f067aa0ba902b7,congo=t61rcWkgMzE + */ + traceState?: TraceState; +} + +declare enum SpanKind { + /** Default value. Indicates that the span is used internally. */ + INTERNAL = 0, + /** + * Indicates that the span covers server-side handling of an RPC or other + * remote request. + */ + SERVER = 1, + /** + * Indicates that the span covers the client-side wrapper around an RPC or + * other remote request. + */ + CLIENT = 2, + /** + * Indicates that the span describes producer sending a message to a + * broker. Unlike client and server, there is no direct critical path latency + * relationship between producer and consumer spans. + */ + PRODUCER = 3, + /** + * Indicates that the span describes consumer receiving a message from a + * broker. Unlike client and server, there is no direct critical path latency + * relationship between producer and consumer spans. + */ + CONSUMER = 4 +} + +/** + * Options needed for span creation + */ +declare interface SpanOptions { + /** + * The SpanKind of a span + * @default {@link SpanKind.INTERNAL} + */ + kind?: SpanKind; + /** A span's attributes */ + attributes?: SpanAttributes; + /** {@link Link}s span to other spans */ + links?: Link[]; + /** A manually specified start time for the created `Span` object. */ + startTime?: TimeInput; + /** The new span should be a root span. (Ignore parent from context). */ + root?: boolean; +} + +declare interface SpanStatus { + /** The status code of this message. */ + code: SpanStatusCode; + /** A developer-facing error message. */ + message?: string; +} + +/** + * An enumeration of status codes. + */ +declare enum SpanStatusCode { + /** + * The default status. + */ + UNSET = 0, + /** + * The operation has been validated by an Application developer or + * Operator to have completed successfully. + */ + OK = 1, + /** + * The operation contains an error. + */ + ERROR = 2 +} + +/** + * A SQL instance can be nested within each other to build SQL strings. + */ +export declare class Sql { + readonly values: Value[]; + readonly strings: string[]; + constructor(rawStrings: readonly string[], rawValues: readonly RawValue[]); + get sql(): string; + get statement(): string; + get text(): string; + inspect(): { + sql: string; + statement: string; + text: string; + values: unknown[]; + }; +} + +declare interface SqlDriverAdapter extends SqlQueryable { + /** + * Execute multiple SQL statements separated by semicolon. + */ + executeScript(script: string): Promise; + /** + * Start new transaction. + */ + startTransaction(isolationLevel?: IsolationLevel): Promise; + /** + * Optional method that returns extra connection info + */ + getConnectionInfo?(): ConnectionInfo; + /** + * Dispose of the connection and release any resources. + */ + dispose(): Promise; +} + +export declare interface SqlDriverAdapterFactory extends DriverAdapterFactory { + connect(): Promise; +} + +declare type SqlQuery = { + sql: string; + args: Array; + argTypes: Array; +}; + +declare interface SqlQueryable extends Queryable { +} + +declare interface SqlResultSet { + /** + * List of column types appearing in a database query, in the same order as `columnNames`. + * They are used within the Query Engine to convert values from JS to Quaint values. + */ + columnTypes: Array; + /** + * List of column names appearing in a database query, in the same order as `columnTypes`. + */ + columnNames: Array; + /** + * List of rows retrieved from a database query. + * Each row is a list of values, whose length matches `columnNames` and `columnTypes`. + */ + rows: Array>; + /** + * The last ID of an `INSERT` statement, if any. + * This is required for `AUTO_INCREMENT` columns in databases based on MySQL and SQLite. + */ + lastInsertId?: string; +} + +/** + * Create a SQL object from a template string. + */ +export declare function sqltag(strings: readonly string[], ...values: readonly RawValue[]): Sql; + +/** + * Defines TimeInput. + * + * hrtime, epoch milliseconds, performance.now() or Date + */ +declare type TimeInput = HrTime_2 | number | Date; + +export declare type ToTuple = T extends any[] ? T : [T]; + +declare interface TraceState { + /** + * Create a new TraceState which inherits from this TraceState and has the + * given key set. + * The new entry will always be added in the front of the list of states. + * + * @param key key of the TraceState entry. + * @param value value of the TraceState entry. + */ + set(key: string, value: string): TraceState; + /** + * Return a new TraceState which inherits from this TraceState but does not + * contain the given key. + * + * @param key the key for the TraceState entry to be removed. + */ + unset(key: string): TraceState; + /** + * Returns the value to which the specified key is mapped, or `undefined` if + * this map contains no mapping for the key. + * + * @param key with which the specified value is to be associated. + * @returns the value to which the specified key is mapped, or `undefined` if + * this map contains no mapping for the key. + */ + get(key: string): string | undefined; + /** + * Serializes the TraceState to a `list` as defined below. The `list` is a + * series of `list-members` separated by commas `,`, and a list-member is a + * key/value pair separated by an equals sign `=`. Spaces and horizontal tabs + * surrounding `list-members` are ignored. There can be a maximum of 32 + * `list-members` in a `list`. + * + * @returns the serialized string. + */ + serialize(): string; +} + +declare interface TracingHelper { + isEnabled(): boolean; + getTraceParent(context?: Context): string; + dispatchEngineSpans(spans: EngineSpan[]): void; + getActiveContext(): Context | undefined; + runInChildSpan(nameOrOptions: string | ExtendedSpanOptions, callback: SpanCallback): R; +} + +declare interface Transaction extends AdapterInfo, SqlQueryable { + /** + * Transaction options. + */ + readonly options: TransactionOptions; + /** + * Commit the transaction. + */ + commit(): Promise; + /** + * Roll back the transaction. + */ + rollback(): Promise; +} + +declare namespace Transaction_2 { + export { + Options, + IsolationLevel_2 as IsolationLevel, + InteractiveTransactionInfo, + TransactionHeaders + } +} + +declare type TransactionHeaders = { + traceparent?: string; +}; + +declare type TransactionOptions = { + usePhantomQuery: boolean; +}; + +declare type TransactionOptions_2 = { + kind: 'itx'; + options: InteractiveTransactionOptions; +} | { + kind: 'batch'; + options: BatchTransactionOptions; +}; + +export declare class TypedSql { + [PrivateResultType]: Result; + constructor(sql: string, values: Values); + get sql(): string; + get values(): Values; +} + +export declare type TypeMapCbDef = Fn<{ + extArgs: InternalArgs; +}, TypeMapDef>; + +/** Shared */ +export declare type TypeMapDef = Record; + +declare type TypeRef = { + isList: boolean; + type: string; + location: AllowedLocations; + namespace?: FieldNamespace; +}; + +declare namespace Types { + export { + Result_3 as Result, + Extensions_2 as Extensions, + Utils, + Public_2 as Public, + isSkip, + Skip, + skip, + UnknownTypedSql, + OperationPayload as Payload + } +} +export { Types } + +declare type uniqueIndex = ReadonlyDeep_2<{ + name: string; + fields: string[]; +}>; + +declare type UnknownErrorParams = { + clientVersion: string; + batchRequestIdx?: number; +}; + +export declare type UnknownTypedSql = TypedSql; + +declare type Unpacker = (data: any) => any; + +export declare type UnwrapPayload

= {} extends P ? unknown : { + [K in keyof P]: P[K] extends { + scalars: infer S; + composites: infer C; + }[] ? Array> : P[K] extends { + scalars: infer S; + composites: infer C; + } | null ? S & UnwrapPayload | Select : never; +}; + +export declare type UnwrapPromise

= P extends Promise ? R : P; + +export declare type UnwrapTuple = { + [K in keyof Tuple]: K extends `${number}` ? Tuple[K] extends PrismaPromise ? X : UnwrapPromise : UnwrapPromise; +}; + +/** + * Input that flows from the user into the Client. + */ +declare type UserArgs_2 = any; + +declare namespace Utils { + export { + EmptyToUnknown, + NeverToUnknown, + PatchFlat, + Omit_2 as Omit, + Pick_2 as Pick, + ComputeDeep, + Compute, + OptionalFlat, + ReadonlyDeep, + Narrowable, + Narrow, + Exact, + Cast, + Record_2 as Record, + UnwrapPromise, + UnwrapTuple, + Path, + Fn, + Call, + RequiredKeys, + OptionalKeys, + Optional, + Return, + ToTuple, + RenameAndNestPayloadKeys, + PayloadToResult, + Select, + Equals, + Or, + JsPromise + } +} + +declare type ValidationError = { + error_identifier: 'RELATION_VIOLATION'; + context: { + relation: string; + modelA: string; + modelB: string; + }; +} | { + error_identifier: 'MISSING_RELATED_RECORD'; + context: { + model: string; + relation: string; + relationType: string; + operation: string; + neededFor?: string; + }; +} | { + error_identifier: 'MISSING_RECORD'; + context: { + operation: string; + }; +} | { + error_identifier: 'INCOMPLETE_CONNECT_INPUT'; + context: { + expectedRows: number; + }; +} | { + error_identifier: 'INCOMPLETE_CONNECT_OUTPUT'; + context: { + expectedRows: number; + relation: string; + relationType: string; + }; +} | { + error_identifier: 'RECORDS_NOT_CONNECTED'; + context: { + relation: string; + parent: string; + child: string; + }; +}; + +declare function validator(): (select: Exact) => S; + +declare function validator, O extends keyof C[M] & Operation>(client: C, model: M, operation: O): (select: Exact>) => S; + +declare function validator, O extends keyof C[M] & Operation, P extends keyof Args>(client: C, model: M, operation: O, prop: P): (select: Exact[P]>) => S; + +/** + * Values supported by SQL engine. + */ +export declare type Value = unknown; + +export declare function warnEnvConflicts(envPaths: any): void; + +export declare const warnOnce: (key: string, message: string, ...args: unknown[]) => void; + +export { } diff --git a/packages/member-prisma-client/runtime/library.js b/packages/member-prisma-client/runtime/library.js new file mode 100644 index 0000000..de550ec --- /dev/null +++ b/packages/member-prisma-client/runtime/library.js @@ -0,0 +1,147 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +"use strict";var yu=Object.create;var jt=Object.defineProperty;var bu=Object.getOwnPropertyDescriptor;var Eu=Object.getOwnPropertyNames;var wu=Object.getPrototypeOf,xu=Object.prototype.hasOwnProperty;var Do=(e,r)=>()=>(e&&(r=e(e=0)),r);var ue=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),tr=(e,r)=>{for(var t in r)jt(e,t,{get:r[t],enumerable:!0})},Oo=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Eu(r))!xu.call(e,i)&&i!==t&&jt(e,i,{get:()=>r[i],enumerable:!(n=bu(r,i))||n.enumerable});return e};var O=(e,r,t)=>(t=e!=null?yu(wu(e)):{},Oo(r||!e||!e.__esModule?jt(t,"default",{value:e,enumerable:!0}):t,e)),vu=e=>Oo(jt({},"__esModule",{value:!0}),e);var hi=ue((_g,is)=>{"use strict";is.exports=(e,r=process.argv)=>{let t=e.startsWith("-")?"":e.length===1?"-":"--",n=r.indexOf(t+e),i=r.indexOf("--");return n!==-1&&(i===-1||n{"use strict";var Fc=require("node:os"),os=require("node:tty"),de=hi(),{env:G}=process,Qe;de("no-color")||de("no-colors")||de("color=false")||de("color=never")?Qe=0:(de("color")||de("colors")||de("color=true")||de("color=always"))&&(Qe=1);"FORCE_COLOR"in G&&(G.FORCE_COLOR==="true"?Qe=1:G.FORCE_COLOR==="false"?Qe=0:Qe=G.FORCE_COLOR.length===0?1:Math.min(parseInt(G.FORCE_COLOR,10),3));function yi(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function bi(e,r){if(Qe===0)return 0;if(de("color=16m")||de("color=full")||de("color=truecolor"))return 3;if(de("color=256"))return 2;if(e&&!r&&Qe===void 0)return 0;let t=Qe||0;if(G.TERM==="dumb")return t;if(process.platform==="win32"){let n=Fc.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in G)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in G)||G.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in G){let n=parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(G.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM)||"COLORTERM"in G?1:t}function Mc(e){let r=bi(e,e&&e.isTTY);return yi(r)}ss.exports={supportsColor:Mc,stdout:yi(bi(!0,os.isatty(1))),stderr:yi(bi(!0,os.isatty(2)))}});var cs=ue((Lg,us)=>{"use strict";var $c=as(),br=hi();function ls(e){if(/^\d{3,4}$/.test(e)){let t=/(\d{1,2})(\d{2})/.exec(e)||[];return{major:0,minor:parseInt(t[1],10),patch:parseInt(t[2],10)}}let r=(e||"").split(".").map(t=>parseInt(t,10));return{major:r[0],minor:r[1],patch:r[2]}}function Ei(e){let{CI:r,FORCE_HYPERLINK:t,NETLIFY:n,TEAMCITY_VERSION:i,TERM_PROGRAM:o,TERM_PROGRAM_VERSION:s,VTE_VERSION:a,TERM:l}=process.env;if(t)return!(t.length>0&&parseInt(t,10)===0);if(br("no-hyperlink")||br("no-hyperlinks")||br("hyperlink=false")||br("hyperlink=never"))return!1;if(br("hyperlink=true")||br("hyperlink=always")||n)return!0;if(!$c.supportsColor(e)||e&&!e.isTTY)return!1;if("WT_SESSION"in process.env)return!0;if(process.platform==="win32"||r||i)return!1;if(o){let u=ls(s||"");switch(o){case"iTerm.app":return u.major===3?u.minor>=1:u.major>3;case"WezTerm":return u.major>=20200620;case"vscode":return u.major>1||u.major===1&&u.minor>=72;case"ghostty":return!0}}if(a){if(a==="0.50.0")return!1;let u=ls(a);return u.major>0||u.minor>=50}switch(l){case"alacritty":return!0}return!1}us.exports={supportsHyperlink:Ei,stdout:Ei(process.stdout),stderr:Ei(process.stderr)}});var ps=ue((Kg,qc)=>{qc.exports={name:"@prisma/internals",version:"6.19.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-engine-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Ti=ue((gh,Qc)=>{Qc.exports={name:"@prisma/engines-version",version:"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"c2990dca591cba766e3b7ef5d9e8a84796e47ab7"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var on=ue(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.enginesVersion=void 0;nn.enginesVersion=Ti().prisma.enginesVersion});var hs=ue((Ih,gs)=>{"use strict";gs.exports=e=>{let r=e.match(/^[ \t]*(?=\S)/gm);return r?r.reduce((t,n)=>Math.min(t,n.length),1/0):0}});var Di=ue((kh,Es)=>{"use strict";Es.exports=(e,r=1,t)=>{if(t={indent:" ",includeEmptyLines:!1,...t},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof r!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof r}\``);if(typeof t.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof t.indent}\``);if(r===0)return e;let n=t.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,t.indent.repeat(r))}});var vs=ue((jh,tp)=>{tp.exports={name:"dotenv",version:"16.5.0",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var As=ue((Bh,_e)=>{"use strict";var Fi=require("node:fs"),Mi=require("node:path"),np=require("node:os"),ip=require("node:crypto"),op=vs(),Ts=op.version,sp=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function ap(e){let r={},t=e.toString();t=t.replace(/\r\n?/mg,` +`);let n;for(;(n=sp.exec(t))!=null;){let i=n[1],o=n[2]||"";o=o.trim();let s=o[0];o=o.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),s==='"'&&(o=o.replace(/\\n/g,` +`),o=o.replace(/\\r/g,"\r")),r[i]=o}return r}function lp(e){let r=Rs(e),t=B.configDotenv({path:r});if(!t.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${r} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=Ss(e).split(","),i=n.length,o;for(let s=0;s=i)throw a}return B.parse(o)}function up(e){console.log(`[dotenv@${Ts}][WARN] ${e}`)}function ot(e){console.log(`[dotenv@${Ts}][DEBUG] ${e}`)}function Ss(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function cp(e,r){let t;try{t=new URL(r)}catch(a){if(a.code==="ERR_INVALID_URL"){let l=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw l.code="INVALID_DOTENV_KEY",l}throw a}let n=t.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let i=t.searchParams.get("environment");if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let o=`DOTENV_VAULT_${i.toUpperCase()}`,s=e.parsed[o];if(!s){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${o} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:s,key:n}}function Rs(e){let r=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let t of e.path)Fi.existsSync(t)&&(r=t.endsWith(".vault")?t:`${t}.vault`);else r=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else r=Mi.resolve(process.cwd(),".env.vault");return Fi.existsSync(r)?r:null}function Ps(e){return e[0]==="~"?Mi.join(np.homedir(),e.slice(1)):e}function pp(e){!!(e&&e.debug)&&ot("Loading env from encrypted .env.vault");let t=B._parseVault(e),n=process.env;return e&&e.processEnv!=null&&(n=e.processEnv),B.populate(n,t,e),{parsed:t}}function dp(e){let r=Mi.resolve(process.cwd(),".env"),t="utf8",n=!!(e&&e.debug);e&&e.encoding?t=e.encoding:n&&ot("No encoding is specified. UTF-8 is used by default");let i=[r];if(e&&e.path)if(!Array.isArray(e.path))i=[Ps(e.path)];else{i=[];for(let l of e.path)i.push(Ps(l))}let o,s={};for(let l of i)try{let u=B.parse(Fi.readFileSync(l,{encoding:t}));B.populate(s,u,e)}catch(u){n&&ot(`Failed to load ${l} ${u.message}`),o=u}let a=process.env;return e&&e.processEnv!=null&&(a=e.processEnv),B.populate(a,s,e),o?{parsed:s,error:o}:{parsed:s}}function mp(e){if(Ss(e).length===0)return B.configDotenv(e);let r=Rs(e);return r?B._configVault(e):(up(`You set DOTENV_KEY but you are missing a .env.vault file at ${r}. Did you forget to build it?`),B.configDotenv(e))}function fp(e,r){let t=Buffer.from(r.slice(-64),"hex"),n=Buffer.from(e,"base64"),i=n.subarray(0,12),o=n.subarray(-16);n=n.subarray(12,-16);try{let s=ip.createDecipheriv("aes-256-gcm",t,i);return s.setAuthTag(o),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,l=s.message==="Invalid key length",u=s.message==="Unsupported state or unable to authenticate data";if(a||l){let c=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw c.code="INVALID_DOTENV_KEY",c}else if(u){let c=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw c.code="DECRYPTION_FAILED",c}else throw s}}function gp(e,r,t={}){let n=!!(t&&t.debug),i=!!(t&&t.override);if(typeof r!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(r))Object.prototype.hasOwnProperty.call(e,o)?(i===!0&&(e[o]=r[o]),n&&ot(i===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):e[o]=r[o]}var B={configDotenv:dp,_configVault:pp,_parseVault:lp,config:mp,decrypt:fp,parse:ap,populate:gp};_e.exports.configDotenv=B.configDotenv;_e.exports._configVault=B._configVault;_e.exports._parseVault=B._parseVault;_e.exports.config=B.config;_e.exports.decrypt=B.decrypt;_e.exports.parse=B.parse;_e.exports.populate=B.populate;_e.exports=B});var Os=ue((Kh,cn)=>{"use strict";cn.exports=(e={})=>{let r;if(e.repoUrl)r=e.repoUrl;else if(e.user&&e.repo)r=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let t=new URL(`${r}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}t.searchParams.set(i,o)}}return t.toString()};cn.exports.default=cn.exports});var Ki=ue((vb,ea)=>{"use strict";ea.exports=function(){function e(r,t,n,i,o){return rn?n+1:r+1:i===o?t:t+1}return function(r,t){if(r===t)return 0;if(r.length>t.length){var n=r;r=t,t=n}for(var i=r.length,o=t.length;i>0&&r.charCodeAt(i-1)===t.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict"});var sa=Do(()=>{"use strict"});var jf={};tr(jf,{DMMF:()=>ct,Debug:()=>N,Decimal:()=>Fe,Extensions:()=>ni,MetricsClient:()=>Lr,PrismaClientInitializationError:()=>P,PrismaClientKnownRequestError:()=>z,PrismaClientRustPanicError:()=>ae,PrismaClientUnknownRequestError:()=>V,PrismaClientValidationError:()=>Z,Public:()=>ii,Sql:()=>ie,createParam:()=>va,defineDmmfProperty:()=>Ca,deserializeJsonResponse:()=>Vr,deserializeRawResult:()=>Xn,dmmfToRuntimeDataModel:()=>Ns,empty:()=>Oa,getPrismaClient:()=>fu,getRuntime:()=>Kn,join:()=>Da,makeStrictEnum:()=>gu,makeTypedQueryFactory:()=>Ia,objectEnumValues:()=>On,raw:()=>no,serializeJsonQuery:()=>$n,skip:()=>Mn,sqltag:()=>io,warnEnvConflicts:()=>hu,warnOnce:()=>at});module.exports=vu(jf);var ni={};tr(ni,{defineExtension:()=>ko,getExtensionContext:()=>_o});function ko(e){return typeof e=="function"?e:r=>r.$extends(e)}function _o(e){return e}var ii={};tr(ii,{validator:()=>No});function No(...e){return r=>r}var Bt={};tr(Bt,{$:()=>qo,bgBlack:()=>ku,bgBlue:()=>Fu,bgCyan:()=>$u,bgGreen:()=>Nu,bgMagenta:()=>Mu,bgRed:()=>_u,bgWhite:()=>qu,bgYellow:()=>Lu,black:()=>Cu,blue:()=>nr,bold:()=>W,cyan:()=>De,dim:()=>Ce,gray:()=>Hr,green:()=>qe,grey:()=>Ou,hidden:()=>Ru,inverse:()=>Su,italic:()=>Tu,magenta:()=>Iu,red:()=>ce,reset:()=>Pu,strikethrough:()=>Au,underline:()=>Y,white:()=>Du,yellow:()=>Ie});var oi,Lo,Fo,Mo,$o=!0;typeof process<"u"&&({FORCE_COLOR:oi,NODE_DISABLE_COLORS:Lo,NO_COLOR:Fo,TERM:Mo}=process.env||{},$o=process.stdout&&process.stdout.isTTY);var qo={enabled:!Lo&&Fo==null&&Mo!=="dumb"&&(oi!=null&&oi!=="0"||$o)};function F(e,r){let t=new RegExp(`\\x1b\\[${r}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${r}m`;return function(o){return!qo.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(t,i+n):o)+i}}var Pu=F(0,0),W=F(1,22),Ce=F(2,22),Tu=F(3,23),Y=F(4,24),Su=F(7,27),Ru=F(8,28),Au=F(9,29),Cu=F(30,39),ce=F(31,39),qe=F(32,39),Ie=F(33,39),nr=F(34,39),Iu=F(35,39),De=F(36,39),Du=F(37,39),Hr=F(90,39),Ou=F(90,39),ku=F(40,49),_u=F(41,49),Nu=F(42,49),Lu=F(43,49),Fu=F(44,49),Mu=F(45,49),$u=F(46,49),qu=F(47,49);var Vu=100,Vo=["green","yellow","blue","magenta","cyan","red"],Yr=[],jo=Date.now(),ju=0,si=typeof process<"u"?process.env:{};globalThis.DEBUG??=si.DEBUG??"";globalThis.DEBUG_COLORS??=si.DEBUG_COLORS?si.DEBUG_COLORS==="true":!0;var zr={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let r=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),t=r.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=r.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return t&&!n},log:(...e)=>{let[r,t,...n]=e;(console.warn??console.log)(`${r} ${t}`,...n)},formatters:{}};function Bu(e){let r={color:Vo[ju++%Vo.length],enabled:zr.enabled(e),namespace:e,log:zr.log,extend:()=>{}},t=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=r;if(n.length!==0&&Yr.push([o,...n]),Yr.length>Vu&&Yr.shift(),zr.enabled(o)||i){let l=n.map(c=>typeof c=="string"?c:Uu(c)),u=`+${Date.now()-jo}ms`;jo=Date.now(),globalThis.DEBUG_COLORS?a(Bt[s](W(o)),...l,Bt[s](u)):a(o,...l,u)}};return new Proxy(t,{get:(n,i)=>r[i],set:(n,i,o)=>r[i]=o})}var N=new Proxy(Bu,{get:(e,r)=>zr[r],set:(e,r,t)=>zr[r]=t});function Uu(e,r=2){let t=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(t.has(i))return"[Circular *]";t.add(i)}else if(typeof i=="bigint")return i.toString();return i},r)}function Bo(e=7500){let r=Yr.map(([t,...n])=>`${t} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` +`);return r.length!!(e&&typeof e=="object"),Qt=e=>e&&!!e[Oe],Ee=(e,r,t)=>{if(Qt(e)){let n=e[Oe](),{matched:i,selections:o}=n.match(r);return i&&o&&Object.keys(o).forEach(s=>t(s,o[s])),i}if(ui(e)){if(!ui(r))return!1;if(Array.isArray(e)){if(!Array.isArray(r))return!1;let n=[],i=[],o=[];for(let s of e.keys()){let a=e[s];Qt(a)&&a[Gu]?o.push(a):o.length?i.push(a):n.push(a)}if(o.length){if(o.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(r.lengthEe(u,s[c],t))&&i.every((u,c)=>Ee(u,a[c],t))&&(o.length===0||Ee(o[0],l,t))}return e.length===r.length&&e.every((s,a)=>Ee(s,r[a],t))}return Reflect.ownKeys(e).every(n=>{let i=e[n];return(n in r||Qt(o=i)&&o[Oe]().matcherType==="optional")&&Ee(i,r[n],t);var o})}return Object.is(r,e)},Ge=e=>{var r,t,n;return ui(e)?Qt(e)?(r=(t=(n=e[Oe]()).getSelectionKeys)==null?void 0:t.call(n))!=null?r:[]:Array.isArray(e)?Zr(e,Ge):Zr(Object.values(e),Ge):[]},Zr=(e,r)=>e.reduce((t,n)=>t.concat(r(n)),[]);function pe(e){return Object.assign(e,{optional:()=>Qu(e),and:r=>q(e,r),or:r=>Wu(e,r),select:r=>r===void 0?Qo(e):Qo(r,e)})}function Qu(e){return pe({[Oe]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return r===void 0?(Ge(e).forEach(i=>n(i,void 0)),{matched:!0,selections:t}):{matched:Ee(e,r,n),selections:t}},getSelectionKeys:()=>Ge(e),matcherType:"optional"})})}function q(...e){return pe({[Oe]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return{matched:e.every(i=>Ee(i,r,n)),selections:t}},getSelectionKeys:()=>Zr(e,Ge),matcherType:"and"})})}function Wu(...e){return pe({[Oe]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return Zr(e,Ge).forEach(i=>n(i,void 0)),{matched:e.some(i=>Ee(i,r,n)),selections:t}},getSelectionKeys:()=>Zr(e,Ge),matcherType:"or"})})}function A(e){return{[Oe]:()=>({match:r=>({matched:!!e(r)})})}}function Qo(...e){let r=typeof e[0]=="string"?e[0]:void 0,t=e.length===2?e[1]:typeof e[0]=="string"?void 0:e[0];return pe({[Oe]:()=>({match:n=>{let i={[r??Wt]:n};return{matched:t===void 0||Ee(t,n,(o,s)=>{i[o]=s}),selections:i}},getSelectionKeys:()=>[r??Wt].concat(t===void 0?[]:Ge(t))})})}function ye(e){return typeof e=="number"}function Ve(e){return typeof e=="string"}function je(e){return typeof e=="bigint"}var eg=pe(A(function(e){return!0}));var Be=e=>Object.assign(pe(e),{startsWith:r=>{return Be(q(e,(t=r,A(n=>Ve(n)&&n.startsWith(t)))));var t},endsWith:r=>{return Be(q(e,(t=r,A(n=>Ve(n)&&n.endsWith(t)))));var t},minLength:r=>Be(q(e,(t=>A(n=>Ve(n)&&n.length>=t))(r))),length:r=>Be(q(e,(t=>A(n=>Ve(n)&&n.length===t))(r))),maxLength:r=>Be(q(e,(t=>A(n=>Ve(n)&&n.length<=t))(r))),includes:r=>{return Be(q(e,(t=r,A(n=>Ve(n)&&n.includes(t)))));var t},regex:r=>{return Be(q(e,(t=r,A(n=>Ve(n)&&!!n.match(t)))));var t}}),rg=Be(A(Ve)),be=e=>Object.assign(pe(e),{between:(r,t)=>be(q(e,((n,i)=>A(o=>ye(o)&&n<=o&&i>=o))(r,t))),lt:r=>be(q(e,(t=>A(n=>ye(n)&&nbe(q(e,(t=>A(n=>ye(n)&&n>t))(r))),lte:r=>be(q(e,(t=>A(n=>ye(n)&&n<=t))(r))),gte:r=>be(q(e,(t=>A(n=>ye(n)&&n>=t))(r))),int:()=>be(q(e,A(r=>ye(r)&&Number.isInteger(r)))),finite:()=>be(q(e,A(r=>ye(r)&&Number.isFinite(r)))),positive:()=>be(q(e,A(r=>ye(r)&&r>0))),negative:()=>be(q(e,A(r=>ye(r)&&r<0)))}),tg=be(A(ye)),Ue=e=>Object.assign(pe(e),{between:(r,t)=>Ue(q(e,((n,i)=>A(o=>je(o)&&n<=o&&i>=o))(r,t))),lt:r=>Ue(q(e,(t=>A(n=>je(n)&&nUe(q(e,(t=>A(n=>je(n)&&n>t))(r))),lte:r=>Ue(q(e,(t=>A(n=>je(n)&&n<=t))(r))),gte:r=>Ue(q(e,(t=>A(n=>je(n)&&n>=t))(r))),positive:()=>Ue(q(e,A(r=>je(r)&&r>0))),negative:()=>Ue(q(e,A(r=>je(r)&&r<0)))}),ng=Ue(A(je)),ig=pe(A(function(e){return typeof e=="boolean"})),og=pe(A(function(e){return typeof e=="symbol"})),sg=pe(A(function(e){return e==null})),ag=pe(A(function(e){return e!=null}));var ci=class extends Error{constructor(r){let t;try{t=JSON.stringify(r)}catch{t=r}super(`Pattern matching error: no pattern matches value ${t}`),this.input=void 0,this.input=r}},pi={matched:!1,value:void 0};function hr(e){return new di(e,pi)}var di=class e{constructor(r,t){this.input=void 0,this.state=void 0,this.input=r,this.state=t}with(...r){if(this.state.matched)return this;let t=r[r.length-1],n=[r[0]],i;r.length===3&&typeof r[1]=="function"?i=r[1]:r.length>2&&n.push(...r.slice(1,r.length-1));let o=!1,s={},a=(u,c)=>{o=!0,s[u]=c},l=!n.some(u=>Ee(u,this.input,a))||i&&!i(this.input)?pi:{matched:!0,value:t(o?Wt in s?s[Wt]:s:this.input,this.input)};return new e(this.input,l)}when(r,t){if(this.state.matched)return this;let n=!!r(this.input);return new e(this.input,n?{matched:!0,value:t(this.input,this.input)}:pi)}otherwise(r){return this.state.matched?this.state.value:r(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new ci(this.input)}run(){return this.exhaustive()}returnType(){return this}};var Ho=require("node:util");var Ju={warn:Ie("prisma:warn")},Ku={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function Jt(e,...r){Ku.warn()&&console.warn(`${Ju.warn} ${e}`,...r)}var Hu=(0,Ho.promisify)(Ko.default.exec),ee=gr("prisma:get-platform"),Yu=["1.0.x","1.1.x","3.0.x"];async function Yo(){let e=Ht.default.platform(),r=process.arch;if(e==="freebsd"){let s=await Yt("freebsd-version");if(s&&s.trim().length>0){let l=/^(\d+)\.?/.exec(s);if(l)return{platform:"freebsd",targetDistro:`freebsd${l[1]}`,arch:r}}}if(e!=="linux")return{platform:e,arch:r};let t=await Zu(),n=await sc(),i=ec({arch:r,archFromUname:n,familyDistro:t.familyDistro}),{libssl:o}=await rc(i);return{platform:"linux",libssl:o,arch:r,archFromUname:n,...t}}function zu(e){let r=/^ID="?([^"\n]*)"?$/im,t=/^ID_LIKE="?([^"\n]*)"?$/im,n=r.exec(e),i=n&&n[1]&&n[1].toLowerCase()||"",o=t.exec(e),s=o&&o[1]&&o[1].toLowerCase()||"",a=hr({id:i,idLike:s}).with({id:"alpine"},({id:l})=>({targetDistro:"musl",familyDistro:l,originalDistro:l})).with({id:"raspbian"},({id:l})=>({targetDistro:"arm",familyDistro:"debian",originalDistro:l})).with({id:"nixos"},({id:l})=>({targetDistro:"nixos",originalDistro:l,familyDistro:"nixos"})).with({id:"debian"},{id:"ubuntu"},({id:l})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:l})).with({id:"rhel"},{id:"centos"},{id:"fedora"},({id:l})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:l})).when(({idLike:l})=>l.includes("debian")||l.includes("ubuntu"),({id:l})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:l})).when(({idLike:l})=>i==="arch"||l.includes("arch"),({id:l})=>({targetDistro:"debian",familyDistro:"arch",originalDistro:l})).when(({idLike:l})=>l.includes("centos")||l.includes("fedora")||l.includes("rhel")||l.includes("suse"),({id:l})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:l})).otherwise(({id:l})=>({targetDistro:void 0,familyDistro:void 0,originalDistro:l}));return ee(`Found distro info: +${JSON.stringify(a,null,2)}`),a}async function Zu(){let e="/etc/os-release";try{let r=await mi.default.readFile(e,{encoding:"utf-8"});return zu(r)}catch{return{targetDistro:void 0,familyDistro:void 0,originalDistro:void 0}}}function Xu(e){let r=/^OpenSSL\s(\d+\.\d+)\.\d+/.exec(e);if(r){let t=`${r[1]}.x`;return zo(t)}}function Wo(e){let r=/libssl\.so\.(\d)(\.\d)?/.exec(e);if(r){let t=`${r[1]}${r[2]??".0"}.x`;return zo(t)}}function zo(e){let r=(()=>{if(Xo(e))return e;let t=e.split(".");return t[1]="0",t.join(".")})();if(Yu.includes(r))return r}function ec(e){return hr(e).with({familyDistro:"musl"},()=>(ee('Trying platform-specific paths for "alpine"'),["/lib","/usr/lib"])).with({familyDistro:"debian"},({archFromUname:r})=>(ee('Trying platform-specific paths for "debian" (and "ubuntu")'),[`/usr/lib/${r}-linux-gnu`,`/lib/${r}-linux-gnu`])).with({familyDistro:"rhel"},()=>(ee('Trying platform-specific paths for "rhel"'),["/lib64","/usr/lib64"])).otherwise(({familyDistro:r,arch:t,archFromUname:n})=>(ee(`Don't know any platform-specific paths for "${r}" on ${t} (${n})`),[]))}async function rc(e){let r='grep -v "libssl.so.0"',t=await Jo(e);if(t){ee(`Found libssl.so file using platform-specific paths: ${t}`);let o=Wo(t);if(ee(`The parsed libssl version is: ${o}`),o)return{libssl:o,strategy:"libssl-specific-path"}}ee('Falling back to "ldconfig" and other generic paths');let n=await Yt(`ldconfig -p | sed "s/.*=>s*//" | sed "s|.*/||" | grep libssl | sort | ${r}`);if(n||(n=await Jo(["/lib64","/usr/lib64","/lib","/usr/lib"])),n){ee(`Found libssl.so file using "ldconfig" or other generic paths: ${n}`);let o=Wo(n);if(ee(`The parsed libssl version is: ${o}`),o)return{libssl:o,strategy:"ldconfig"}}let i=await Yt("openssl version -v");if(i){ee(`Found openssl binary with version: ${i}`);let o=Xu(i);if(ee(`The parsed openssl version is: ${o}`),o)return{libssl:o,strategy:"openssl-binary"}}return ee("Couldn't find any version of libssl or OpenSSL in the system"),{}}async function Jo(e){for(let r of e){let t=await tc(r);if(t)return t}}async function tc(e){try{return(await mi.default.readdir(e)).find(t=>t.startsWith("libssl.so.")&&!t.startsWith("libssl.so.0"))}catch(r){if(r.code==="ENOENT")return;throw r}}async function ir(){let{binaryTarget:e}=await Zo();return e}function nc(e){return e.binaryTarget!==void 0}async function fi(){let{memoized:e,...r}=await Zo();return r}var Kt={};async function Zo(){if(nc(Kt))return Promise.resolve({...Kt,memoized:!0});let e=await Yo(),r=ic(e);return Kt={...e,binaryTarget:r},{...Kt,memoized:!1}}function ic(e){let{platform:r,arch:t,archFromUname:n,libssl:i,targetDistro:o,familyDistro:s,originalDistro:a}=e;r==="linux"&&!["x64","arm64"].includes(t)&&Jt(`Prisma only officially supports Linux on amd64 (x86_64) and arm64 (aarch64) system architectures (detected "${t}" instead). If you are using your own custom Prisma engines, you can ignore this warning, as long as you've compiled the engines for your system architecture "${n}".`);let l="1.1.x";if(r==="linux"&&i===void 0){let c=hr({familyDistro:s}).with({familyDistro:"debian"},()=>"Please manually install OpenSSL via `apt-get update -y && apt-get install -y openssl` and try installing Prisma again. If you're running Prisma on Docker, add this command to your Dockerfile, or switch to an image that already has OpenSSL installed.").otherwise(()=>"Please manually install OpenSSL and try installing Prisma again.");Jt(`Prisma failed to detect the libssl/openssl version to use, and may not work as expected. Defaulting to "openssl-${l}". +${c}`)}let u="debian";if(r==="linux"&&o===void 0&&ee(`Distro is "${a}". Falling back to Prisma engines built for "${u}".`),r==="darwin"&&t==="arm64")return"darwin-arm64";if(r==="darwin")return"darwin";if(r==="win32")return"windows";if(r==="freebsd")return o;if(r==="openbsd")return"openbsd";if(r==="netbsd")return"netbsd";if(r==="linux"&&o==="nixos")return"linux-nixos";if(r==="linux"&&t==="arm64")return`${o==="musl"?"linux-musl-arm64":"linux-arm64"}-openssl-${i||l}`;if(r==="linux"&&t==="arm")return`linux-arm-openssl-${i||l}`;if(r==="linux"&&o==="musl"){let c="linux-musl";return!i||Xo(i)?c:`${c}-openssl-${i}`}return r==="linux"&&o&&i?`${o}-openssl-${i}`:(r!=="linux"&&Jt(`Prisma detected unknown OS "${r}" and may not work as expected. Defaulting to "linux".`),i?`${u}-openssl-${i}`:o?`${o}-openssl-${l}`:`${u}-openssl-${l}`)}async function oc(e){try{return await e()}catch{return}}function Yt(e){return oc(async()=>{let r=await Hu(e);return ee(`Command "${e}" successfully returned "${r.stdout}"`),r.stdout})}async function sc(){return typeof Ht.default.machine=="function"?Ht.default.machine():(await Yt("uname -m"))?.trim()}function Xo(e){return e.startsWith("1.")}var Xt={};tr(Xt,{beep:()=>kc,clearScreen:()=>Cc,clearTerminal:()=>Ic,cursorBackward:()=>mc,cursorDown:()=>pc,cursorForward:()=>dc,cursorGetPosition:()=>hc,cursorHide:()=>Ec,cursorLeft:()=>ts,cursorMove:()=>cc,cursorNextLine:()=>yc,cursorPrevLine:()=>bc,cursorRestorePosition:()=>gc,cursorSavePosition:()=>fc,cursorShow:()=>wc,cursorTo:()=>uc,cursorUp:()=>rs,enterAlternativeScreen:()=>Dc,eraseDown:()=>Tc,eraseEndLine:()=>vc,eraseLine:()=>ns,eraseLines:()=>xc,eraseScreen:()=>gi,eraseStartLine:()=>Pc,eraseUp:()=>Sc,exitAlternativeScreen:()=>Oc,iTerm:()=>Lc,image:()=>Nc,link:()=>_c,scrollDown:()=>Ac,scrollUp:()=>Rc});var Zt=O(require("node:process"),1);var zt=globalThis.window?.document!==void 0,gg=globalThis.process?.versions?.node!==void 0,hg=globalThis.process?.versions?.bun!==void 0,yg=globalThis.Deno?.version?.deno!==void 0,bg=globalThis.process?.versions?.electron!==void 0,Eg=globalThis.navigator?.userAgent?.includes("jsdom")===!0,wg=typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,xg=typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope,vg=typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope,Pg=typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope,Xr=globalThis.navigator?.userAgentData?.platform,Tg=Xr==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform==="darwin",Sg=Xr==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform==="win32",Rg=Xr==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform==="linux",Ag=Xr==="iOS"||globalThis.navigator?.platform==="MacIntel"&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),Cg=Xr==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform==="android";var C="\x1B[",rt="\x1B]",yr="\x07",et=";",es=!zt&&Zt.default.env.TERM_PROGRAM==="Apple_Terminal",ac=!zt&&Zt.default.platform==="win32",lc=zt?()=>{throw new Error("`process.cwd()` only works in Node.js, not the browser.")}:Zt.default.cwd,uc=(e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof r!="number"?C+(e+1)+"G":C+(r+1)+et+(e+1)+"H"},cc=(e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let t="";return e<0?t+=C+-e+"D":e>0&&(t+=C+e+"C"),r<0?t+=C+-r+"A":r>0&&(t+=C+r+"B"),t},rs=(e=1)=>C+e+"A",pc=(e=1)=>C+e+"B",dc=(e=1)=>C+e+"C",mc=(e=1)=>C+e+"D",ts=C+"G",fc=es?"\x1B7":C+"s",gc=es?"\x1B8":C+"u",hc=C+"6n",yc=C+"E",bc=C+"F",Ec=C+"?25l",wc=C+"?25h",xc=e=>{let r="";for(let t=0;t[rt,"8",et,et,r,yr,e,rt,"8",et,et,yr].join(""),Nc=(e,r={})=>{let t=`${rt}1337;File=inline=1`;return r.width&&(t+=`;width=${r.width}`),r.height&&(t+=`;height=${r.height}`),r.preserveAspectRatio===!1&&(t+=";preserveAspectRatio=0"),t+":"+Buffer.from(e).toString("base64")+yr},Lc={setCwd:(e=lc())=>`${rt}50;CurrentDir=${e}${yr}`,annotation(e,r={}){let t=`${rt}1337;`,n=r.x!==void 0,i=r.y!==void 0;if((n||i)&&!(n&&i&&r.length!==void 0))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replaceAll("|",""),t+=r.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",r.length>0?t+=(n?[e,r.length,r.x,r.y]:[r.length,e]).join("|"):t+=e,t+yr}};var en=O(cs(),1);function or(e,r,{target:t="stdout",...n}={}){return en.default[t]?Xt.link(e,r):n.fallback===!1?e:typeof n.fallback=="function"?n.fallback(e,r):`${e} (\u200B${r}\u200B)`}or.isSupported=en.default.stdout;or.stderr=(e,r,t={})=>or(e,r,{target:"stderr",...t});or.stderr.isSupported=en.default.stderr;function wi(e){return or(e,e,{fallback:Y})}var Vc=ps(),xi=Vc.version;function Er(e){let r=jc();return r||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":Bc())}function jc(){let e=process.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function Bc(){return"library"}function vi(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}function rn(e){return{ok:!0,value:e,map(r){return rn(r(e))},flatMap(r){return r(e)}}}function sr(e){return{ok:!1,error:e,map(){return sr(e)},flatMap(){return sr(e)}}}var ds=N("driver-adapter-utils"),Pi=class{registeredErrors=[];consumeError(r){return this.registeredErrors[r]}registerNewError(r){let t=0;for(;this.registeredErrors[t]!==void 0;)t++;return this.registeredErrors[t]={error:r},t}};var tn=(e,r=new Pi)=>{let t={adapterName:e.adapterName,errorRegistry:r,queryRaw:ke(r,e.queryRaw.bind(e)),executeRaw:ke(r,e.executeRaw.bind(e)),executeScript:ke(r,e.executeScript.bind(e)),dispose:ke(r,e.dispose.bind(e)),provider:e.provider,startTransaction:async(...n)=>(await ke(r,e.startTransaction.bind(e))(...n)).map(o=>Uc(r,o))};return e.getConnectionInfo&&(t.getConnectionInfo=Gc(r,e.getConnectionInfo.bind(e))),t},Uc=(e,r)=>({adapterName:r.adapterName,provider:r.provider,options:r.options,queryRaw:ke(e,r.queryRaw.bind(r)),executeRaw:ke(e,r.executeRaw.bind(r)),commit:ke(e,r.commit.bind(r)),rollback:ke(e,r.rollback.bind(r))});function ke(e,r){return async(...t)=>{try{return rn(await r(...t))}catch(n){if(ds("[error@wrapAsync]",n),vi(n))return sr(n.cause);let i=e.registerNewError(n);return sr({kind:"GenericJs",id:i})}}}function Gc(e,r){return(...t)=>{try{return rn(r(...t))}catch(n){if(ds("[error@wrapSync]",n),vi(n))return sr(n.cause);let i=e.registerNewError(n);return sr({kind:"GenericJs",id:i})}}}var Wc=O(on());var M=O(require("node:path")),Jc=O(on()),wh=N("prisma:engines");function ms(){return M.default.join(__dirname,"../")}var xh="libquery-engine";M.default.join(__dirname,"../query-engine-darwin");M.default.join(__dirname,"../query-engine-darwin-arm64");M.default.join(__dirname,"../query-engine-debian-openssl-1.0.x");M.default.join(__dirname,"../query-engine-debian-openssl-1.1.x");M.default.join(__dirname,"../query-engine-debian-openssl-3.0.x");M.default.join(__dirname,"../query-engine-linux-static-x64");M.default.join(__dirname,"../query-engine-linux-static-arm64");M.default.join(__dirname,"../query-engine-rhel-openssl-1.0.x");M.default.join(__dirname,"../query-engine-rhel-openssl-1.1.x");M.default.join(__dirname,"../query-engine-rhel-openssl-3.0.x");M.default.join(__dirname,"../libquery_engine-darwin.dylib.node");M.default.join(__dirname,"../libquery_engine-darwin-arm64.dylib.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-musl.so.node");M.default.join(__dirname,"../libquery_engine-linux-musl-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-3.0.x.so.node");M.default.join(__dirname,"../query_engine-windows.dll.node");var Si=O(require("node:fs")),fs=gr("chmodPlusX");function Ri(e){if(process.platform==="win32")return;let r=Si.default.statSync(e),t=r.mode|64|8|1;if(r.mode===t){fs(`Execution permissions of ${e} are fine`);return}let n=t.toString(8).slice(-3);fs(`Have to call chmodPlusX on ${e}`),Si.default.chmodSync(e,n)}function Ai(e){let r=e.e,t=a=>`Prisma cannot find the required \`${a}\` system library in your system`,n=r.message.includes("cannot open shared object file"),i=`Please refer to the documentation about Prisma's system requirements: ${wi("https://pris.ly/d/system-requirements")}`,o=`Unable to require(\`${Ce(e.id)}\`).`,s=hr({message:r.message,code:r.code}).with({code:"ENOENT"},()=>"File does not exist.").when(({message:a})=>n&&a.includes("libz"),()=>`${t("libz")}. Please install it and try again.`).when(({message:a})=>n&&a.includes("libgcc_s"),()=>`${t("libgcc_s")}. Please install it and try again.`).when(({message:a})=>n&&a.includes("libssl"),()=>{let a=e.platformInfo.libssl?`openssl-${e.platformInfo.libssl}`:"openssl";return`${t("libssl")}. Please install ${a} and try again.`}).when(({message:a})=>a.includes("GLIBC"),()=>`Prisma has detected an incompatible version of the \`glibc\` C standard library installed in your system. This probably means your system may be too old to run Prisma. ${i}`).when(({message:a})=>e.platformInfo.platform==="linux"&&a.includes("symbol not found"),()=>`The Prisma engines are not compatible with your system ${e.platformInfo.originalDistro} on (${e.platformInfo.archFromUname}) which uses the \`${e.platformInfo.binaryTarget}\` binaryTarget by default. ${i}`).otherwise(()=>`The Prisma engines do not seem to be compatible with your system. ${i}`);return`${o} +${s} + +Details: ${r.message}`}var ys=O(hs(),1);function Ci(e){let r=(0,ys.default)(e);if(r===0)return e;let t=new RegExp(`^[ \\t]{${r}}`,"gm");return e.replace(t,"")}var bs="prisma+postgres",sn=`${bs}:`;function an(e){return e?.toString().startsWith(`${sn}//`)??!1}function Ii(e){if(!an(e))return!1;let{host:r}=new URL(e);return r.includes("localhost")||r.includes("127.0.0.1")||r.includes("[::1]")}var ws=O(Di());function ki(e){return String(new Oi(e))}var Oi=class{constructor(r){this.config=r}toString(){let{config:r}=this,t=r.provider.fromEnvVar?`env("${r.provider.fromEnvVar}")`:r.provider.value,n=JSON.parse(JSON.stringify({provider:t,binaryTargets:Kc(r.binaryTargets)}));return`generator ${r.name} { +${(0,ws.default)(Hc(n),2)} +}`}};function Kc(e){let r;if(e.length>0){let t=e.find(n=>n.fromEnvVar!==null);t?r=`env("${t.fromEnvVar}")`:r=e.map(n=>n.native?"native":n.value)}else r=void 0;return r}function Hc(e){let r=Object.keys(e).reduce((t,n)=>Math.max(t,n.length),0);return Object.entries(e).map(([t,n])=>`${t.padEnd(r)} = ${Yc(n)}`).join(` +`)}function Yc(e){return JSON.parse(JSON.stringify(e,(r,t)=>Array.isArray(t)?`[${t.map(n=>JSON.stringify(n)).join(", ")}]`:JSON.stringify(t)))}var nt={};tr(nt,{error:()=>Xc,info:()=>Zc,log:()=>zc,query:()=>ep,should:()=>xs,tags:()=>tt,warn:()=>_i});var tt={error:ce("prisma:error"),warn:Ie("prisma:warn"),info:De("prisma:info"),query:nr("prisma:query")},xs={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function zc(...e){console.log(...e)}function _i(e,...r){xs.warn()&&console.warn(`${tt.warn} ${e}`,...r)}function Zc(e,...r){console.info(`${tt.info} ${e}`,...r)}function Xc(e,...r){console.error(`${tt.error} ${e}`,...r)}function ep(e,...r){console.log(`${tt.query} ${e}`,...r)}function ln(e,r){if(!e)throw new Error(`${r}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}function ar(e,r){throw new Error(r)}function Ni({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}var rp=Ni();function wr(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(rp,"")}var it=O(require("node:path"));function Li(e){return it.default.sep===it.default.posix.sep?e:e.split(it.default.sep).join(it.default.posix.sep)}var qi=O(As()),un=O(require("node:fs"));var xr=O(require("node:path"));function Cs(e){let r=e.ignoreProcessEnv?{}:process.env,t=n=>n.match(/(.?\${(?:[a-zA-Z0-9_]+)?})/g)?.reduce(function(o,s){let a=/(.?)\${([a-zA-Z0-9_]+)?}/g.exec(s);if(!a)return o;let l=a[1],u,c;if(l==="\\")c=a[0],u=c.replace("\\$","$");else{let p=a[2];c=a[0].substring(l.length),u=Object.hasOwnProperty.call(r,p)?r[p]:e.parsed[p]||"",u=t(u)}return o.replace(c,u)},n)??n;for(let n in e.parsed){let i=Object.hasOwnProperty.call(r,n)?r[n]:e.parsed[n];e.parsed[n]=t(i)}for(let n in e.parsed)r[n]=e.parsed[n];return e}var $i=gr("prisma:tryLoadEnv");function st({rootEnvPath:e,schemaEnvPath:r},t={conflictCheck:"none"}){let n=Is(e);t.conflictCheck!=="none"&&hp(n,r,t.conflictCheck);let i=null;return Ds(n?.path,r)||(i=Is(r)),!n&&!i&&$i("No Environment variables loaded"),i?.dotenvResult.error?console.error(ce(W("Schema Env Error: "))+i.dotenvResult.error):{message:[n?.message,i?.message].filter(Boolean).join(` +`),parsed:{...n?.dotenvResult?.parsed,...i?.dotenvResult?.parsed}}}function hp(e,r,t){let n=e?.dotenvResult.parsed,i=!Ds(e?.path,r);if(n&&r&&i&&un.default.existsSync(r)){let o=qi.default.parse(un.default.readFileSync(r)),s=[];for(let a in o)n[a]===o[a]&&s.push(a);if(s.length>0){let a=xr.default.relative(process.cwd(),e.path),l=xr.default.relative(process.cwd(),r);if(t==="error"){let u=`There is a conflict between env var${s.length>1?"s":""} in ${Y(a)} and ${Y(l)} +Conflicting env vars: +${s.map(c=>` ${W(c)}`).join(` +`)} + +We suggest to move the contents of ${Y(l)} to ${Y(a)} to consolidate your env vars. +`;throw new Error(u)}else if(t==="warn"){let u=`Conflict for env var${s.length>1?"s":""} ${s.map(c=>W(c)).join(", ")} in ${Y(a)} and ${Y(l)} +Env vars from ${Y(l)} overwrite the ones from ${Y(a)} + `;console.warn(`${Ie("warn(prisma)")} ${u}`)}}}}function Is(e){if(yp(e)){$i(`Environment variables loaded from ${e}`);let r=qi.default.config({path:e,debug:process.env.DOTENV_CONFIG_DEBUG?!0:void 0});return{dotenvResult:Cs(r),message:Ce(`Environment variables loaded from ${xr.default.relative(process.cwd(),e)}`),path:e}}else $i(`Environment variables not found at ${e}`);return null}function Ds(e,r){return e&&r&&xr.default.resolve(e)===xr.default.resolve(r)}function yp(e){return!!(e&&un.default.existsSync(e))}function Vi(e,r){return Object.prototype.hasOwnProperty.call(e,r)}function pn(e,r){let t={};for(let n of Object.keys(e))t[n]=r(e[n],n);return t}function ji(e,r){if(e.length===0)return;let t=e[0];for(let n=1;n{ks.has(e)||(ks.add(e),_i(r,...t))};var P=class e extends Error{clientVersion;errorCode;retryable;constructor(r,t,n){super(r),this.name="PrismaClientInitializationError",this.clientVersion=t,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};x(P,"PrismaClientInitializationError");var z=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(r,{code:t,clientVersion:n,meta:i,batchRequestIdx:o}){super(r),this.name="PrismaClientKnownRequestError",this.code=t,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};x(z,"PrismaClientKnownRequestError");var ae=class extends Error{clientVersion;constructor(r,t){super(r),this.name="PrismaClientRustPanicError",this.clientVersion=t}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};x(ae,"PrismaClientRustPanicError");var V=class extends Error{clientVersion;batchRequestIdx;constructor(r,{clientVersion:t,batchRequestIdx:n}){super(r),this.name="PrismaClientUnknownRequestError",this.clientVersion=t,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};x(V,"PrismaClientUnknownRequestError");var Z=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(r,{clientVersion:t}){super(r),this.clientVersion=t}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};x(Z,"PrismaClientValidationError");var we=class{_map=new Map;get(r){return this._map.get(r)?.value}set(r,t){this._map.set(r,{value:t})}getOrCreate(r,t){let n=this._map.get(r);if(n)return n.value;let i=t();return this.set(r,i),i}};function We(e){return e.substring(0,1).toLowerCase()+e.substring(1)}function _s(e,r){let t={};for(let n of e){let i=n[r];t[i]=n}return t}function lt(e){let r;return{get(){return r||(r={value:e()}),r.value}}}function Ns(e){return{models:Bi(e.models),enums:Bi(e.enums),types:Bi(e.types)}}function Bi(e){let r={};for(let{name:t,...n}of e)r[t]=n;return r}function vr(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function mn(e){return e.toString()!=="Invalid Date"}var Pr=9e15,Ye=1e9,Ui="0123456789abcdef",hn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",yn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Gi={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Pr,maxE:Pr,crypto:!1},$s,Ne,w=!0,En="[DecimalError] ",He=En+"Invalid argument: ",qs=En+"Precision limit exceeded",Vs=En+"crypto unavailable",js="[object Decimal]",X=Math.floor,U=Math.pow,bp=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Ep=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,wp=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Bs=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,fe=1e7,E=7,xp=9007199254740991,vp=hn.length-1,Qi=yn.length-1,m={toStringTag:js};m.absoluteValue=m.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),y(e)};m.ceil=function(){return y(new this.constructor(this),this.e+1,2)};m.clampedTo=m.clamp=function(e,r){var t,n=this,i=n.constructor;if(e=new i(e),r=new i(r),!e.s||!r.s)return new i(NaN);if(e.gt(r))throw Error(He+r);return t=n.cmp(e),t<0?e:n.cmp(r)>0?r:new i(n)};m.comparedTo=m.cmp=function(e){var r,t,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,u=e.s;if(!s||!a)return!l||!u?NaN:l!==u?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-u:0;if(l!==u)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,r=0,t=na[r]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};m.cosine=m.cos=function(){var e,r,t=this,n=t.constructor;return t.d?t.d[0]?(e=n.precision,r=n.rounding,n.precision=e+Math.max(t.e,t.sd())+E,n.rounding=1,t=Pp(n,Js(n,t)),n.precision=e,n.rounding=r,y(Ne==2||Ne==3?t.neg():t,e,r,!0)):new n(1):new n(NaN)};m.cubeRoot=m.cbrt=function(){var e,r,t,n,i,o,s,a,l,u,c=this,p=c.constructor;if(!c.isFinite()||c.isZero())return new p(c);for(w=!1,o=c.s*U(c.s*c,1/3),!o||Math.abs(o)==1/0?(t=J(c.d),e=c.e,(o=(e-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=U(t,1/3),e=X((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?t="5e"+e:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new p(t),n.s=c.s):n=new p(o.toString()),s=(e=p.precision)+3;;)if(a=n,l=a.times(a).times(a),u=l.plus(c),n=L(u.plus(c).times(a),u.plus(l),s+2,1),J(a.d).slice(0,s)===(t=J(n.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!i&&t=="4999"){if(!i&&(y(a,e+1,0),a.times(a).times(a).eq(c))){n=a;break}s+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(y(n,e+1,1),r=!n.times(n).times(n).eq(c));break}return w=!0,y(n,e,p.rounding,r)};m.decimalPlaces=m.dp=function(){var e,r=this.d,t=NaN;if(r){if(e=r.length-1,t=(e-X(this.e/E))*E,e=r[e],e)for(;e%10==0;e/=10)t--;t<0&&(t=0)}return t};m.dividedBy=m.div=function(e){return L(this,new this.constructor(e))};m.dividedToIntegerBy=m.divToInt=function(e){var r=this,t=r.constructor;return y(L(r,new t(e),0,1,1),t.precision,t.rounding)};m.equals=m.eq=function(e){return this.cmp(e)===0};m.floor=function(){return y(new this.constructor(this),this.e+1,3)};m.greaterThan=m.gt=function(e){return this.cmp(e)>0};m.greaterThanOrEqualTo=m.gte=function(e){var r=this.cmp(e);return r==1||r===0};m.hyperbolicCosine=m.cosh=function(){var e,r,t,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;t=s.precision,n=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),r=(1/xn(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),o=Tr(s,1,o.times(r),new s(1),!0);for(var l,u=e,c=new s(8);u--;)l=o.times(o),o=a.minus(l.times(c.minus(l.times(c))));return y(o,s.precision=t,s.rounding=n,!0)};m.hyperbolicSine=m.sinh=function(){var e,r,t,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(r=o.precision,t=o.rounding,o.precision=r+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=Tr(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/xn(5,e)),i=Tr(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(u))))}return o.precision=r,o.rounding=t,y(i,r,t,!0)};m.hyperbolicTangent=m.tanh=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+7,n.rounding=1,L(t.sinh(),t.cosh(),n.precision=e,n.rounding=r)):new n(t.s)};m.inverseCosine=m.acos=function(){var e=this,r=e.constructor,t=e.abs().cmp(1),n=r.precision,i=r.rounding;return t!==-1?t===0?e.isNeg()?xe(r,n,i):new r(0):new r(NaN):e.isZero()?xe(r,n+4,i).times(.5):(r.precision=n+6,r.rounding=1,e=new r(1).minus(e).div(e.plus(1)).sqrt().atan(),r.precision=n,r.rounding=i,e.times(2))};m.inverseHyperbolicCosine=m.acosh=function(){var e,r,t=this,n=t.constructor;return t.lte(1)?new n(t.eq(1)?0:NaN):t.isFinite()?(e=n.precision,r=n.rounding,n.precision=e+Math.max(Math.abs(t.e),t.sd())+4,n.rounding=1,w=!1,t=t.times(t).minus(1).sqrt().plus(t),w=!0,n.precision=e,n.rounding=r,t.ln()):new n(t)};m.inverseHyperbolicSine=m.asinh=function(){var e,r,t=this,n=t.constructor;return!t.isFinite()||t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+2*Math.max(Math.abs(t.e),t.sd())+6,n.rounding=1,w=!1,t=t.times(t).plus(1).sqrt().plus(t),w=!0,n.precision=e,n.rounding=r,t.ln())};m.inverseHyperbolicTangent=m.atanh=function(){var e,r,t,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,r=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?y(new o(i),e,r,!0):(o.precision=t=n-i.e,i=L(i.plus(1),new o(1).minus(i),t+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=r,i.times(.5))):new o(NaN)};m.inverseSine=m.asin=function(){var e,r,t,n,i=this,o=i.constructor;return i.isZero()?new o(i):(r=i.abs().cmp(1),t=o.precision,n=o.rounding,r!==-1?r===0?(e=xe(o,t+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=t+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=n,i.times(2)))};m.inverseTangent=m.atan=function(){var e,r,t,n,i,o,s,a,l,u=this,c=u.constructor,p=c.precision,d=c.rounding;if(u.isFinite()){if(u.isZero())return new c(u);if(u.abs().eq(1)&&p+4<=Qi)return s=xe(c,p+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new c(NaN);if(p+4<=Qi)return s=xe(c,p+4,d).times(.5),s.s=u.s,s}for(c.precision=a=p+10,c.rounding=1,t=Math.min(28,a/E+2|0),e=t;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(w=!1,r=Math.ceil(a/E),n=1,l=u.times(u),s=new c(u),i=u;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[r]!==void 0)for(e=r;s.d[e]===o.d[e]&&e--;);return t&&(s=s.times(2<this.d.length-2};m.isNaN=function(){return!this.s};m.isNegative=m.isNeg=function(){return this.s<0};m.isPositive=m.isPos=function(){return this.s>0};m.isZero=function(){return!!this.d&&this.d[0]===0};m.lessThan=m.lt=function(e){return this.cmp(e)<0};m.lessThanOrEqualTo=m.lte=function(e){return this.cmp(e)<1};m.logarithm=m.log=function(e){var r,t,n,i,o,s,a,l,u=this,c=u.constructor,p=c.precision,d=c.rounding,f=5;if(e==null)e=new c(10),r=!0;else{if(e=new c(e),t=e.d,e.s<0||!t||!t[0]||e.eq(1))return new c(NaN);r=e.eq(10)}if(t=u.d,u.s<0||!t||!t[0]||u.eq(1))return new c(t&&!t[0]?-1/0:u.s!=1?NaN:t?0:1/0);if(r)if(t.length>1)o=!0;else{for(i=t[0];i%10===0;)i/=10;o=i!==1}if(w=!1,a=p+f,s=Ke(u,a),n=r?bn(c,a+10):Ke(e,a),l=L(s,n,a,1),ut(l.d,i=p,d))do if(a+=10,s=Ke(u,a),n=r?bn(c,a+10):Ke(e,a),l=L(s,n,a,1),!o){+J(l.d).slice(i+1,i+15)+1==1e14&&(l=y(l,p+1,0));break}while(ut(l.d,i+=10,d));return w=!0,y(l,p,d)};m.minus=m.sub=function(e){var r,t,n,i,o,s,a,l,u,c,p,d,f=this,h=f.constructor;if(e=new h(e),!f.d||!e.d)return!f.s||!e.s?e=new h(NaN):f.d?e.s=-e.s:e=new h(e.d||f.s!==e.s?f:NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(u=f.d,d=e.d,a=h.precision,l=h.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else if(u[0])e=new h(f);else return new h(l===3?-0:0);return w?y(e,a,l):e}if(t=X(e.e/E),c=X(f.e/E),u=u.slice(),o=c-t,o){for(p=o<0,p?(r=u,o=-o,s=d.length):(r=d,t=c,s=u.length),n=Math.max(Math.ceil(a/E),s)+2,o>n&&(o=n,r.length=1),r.reverse(),n=o;n--;)r.push(0);r.reverse()}else{for(n=u.length,s=d.length,p=n0;--n)u[s++]=0;for(n=d.length;n>o;){if(u[--n]s?o+1:s+1,i>s&&(i=s,t.length=1),t.reverse();i--;)t.push(0);t.reverse()}for(s=u.length,i=c.length,s-i<0&&(i=s,t=c,c=u,u=t),r=0;i;)r=(u[--i]=u[i]+c[i]+r)/fe|0,u[i]%=fe;for(r&&(u.unshift(r),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=wn(u,n),w?y(e,a,l):e};m.precision=m.sd=function(e){var r,t=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(He+e);return t.d?(r=Us(t.d),e&&t.e+1>r&&(r=t.e+1)):r=NaN,r};m.round=function(){var e=this,r=e.constructor;return y(new r(e),e.e+1,r.rounding)};m.sine=m.sin=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+Math.max(t.e,t.sd())+E,n.rounding=1,t=Sp(n,Js(n,t)),n.precision=e,n.rounding=r,y(Ne>2?t.neg():t,e,r,!0)):new n(NaN)};m.squareRoot=m.sqrt=function(){var e,r,t,n,i,o,s=this,a=s.d,l=s.e,u=s.s,c=s.constructor;if(u!==1||!a||!a[0])return new c(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(w=!1,u=Math.sqrt(+s),u==0||u==1/0?(r=J(a),(r.length+l)%2==0&&(r+="0"),u=Math.sqrt(r),l=X((l+1)/2)-(l<0||l%2),u==1/0?r="5e"+l:(r=u.toExponential(),r=r.slice(0,r.indexOf("e")+1)+l),n=new c(r)):n=new c(u.toString()),t=(l=c.precision)+3;;)if(o=n,n=o.plus(L(s,o,t+2,1)).times(.5),J(o.d).slice(0,t)===(r=J(n.d)).slice(0,t))if(r=r.slice(t-3,t+1),r=="9999"||!i&&r=="4999"){if(!i&&(y(o,l+1,0),o.times(o).eq(s))){n=o;break}t+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(y(n,l+1,1),e=!n.times(n).eq(s));break}return w=!0,y(n,l,c.rounding,e)};m.tangent=m.tan=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+10,n.rounding=1,t=t.sin(),t.s=1,t=L(t,new n(1).minus(t.times(t)).sqrt(),e+10,0),n.precision=e,n.rounding=r,y(Ne==2||Ne==4?t.neg():t,e,r,!0)):new n(NaN)};m.times=m.mul=function(e){var r,t,n,i,o,s,a,l,u,c=this,p=c.constructor,d=c.d,f=(e=new p(e)).d;if(e.s*=c.s,!d||!d[0]||!f||!f[0])return new p(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:!d||!f?e.s/0:e.s*0);for(t=X(c.e/E)+X(e.e/E),l=d.length,u=f.length,l=0;){for(r=0,i=l+n;i>n;)a=o[i]+f[n]*d[i-n-1]+r,o[i--]=a%fe|0,r=a/fe|0;o[i]=(o[i]+r)%fe|0}for(;!o[--s];)o.pop();return r?++t:o.shift(),e.d=o,e.e=wn(o,t),w?y(e,p.precision,p.rounding):e};m.toBinary=function(e,r){return Ji(this,2,e,r)};m.toDecimalPlaces=m.toDP=function(e,r){var t=this,n=t.constructor;return t=new n(t),e===void 0?t:(ne(e,0,Ye),r===void 0?r=n.rounding:ne(r,0,8),y(t,e+t.e+1,r))};m.toExponential=function(e,r){var t,n=this,i=n.constructor;return e===void 0?t=ve(n,!0):(ne(e,0,Ye),r===void 0?r=i.rounding:ne(r,0,8),n=y(new i(n),e+1,r),t=ve(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+t:t};m.toFixed=function(e,r){var t,n,i=this,o=i.constructor;return e===void 0?t=ve(i):(ne(e,0,Ye),r===void 0?r=o.rounding:ne(r,0,8),n=y(new o(i),e+i.e+1,r),t=ve(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+t:t};m.toFraction=function(e){var r,t,n,i,o,s,a,l,u,c,p,d,f=this,h=f.d,g=f.constructor;if(!h)return new g(f);if(u=t=new g(1),n=l=new g(0),r=new g(n),o=r.e=Us(h)-f.e-1,s=o%E,r.d[0]=U(10,s<0?E+s:s),e==null)e=o>0?r:u;else{if(a=new g(e),!a.isInt()||a.lt(u))throw Error(He+a);e=a.gt(r)?o>0?r:u:a}for(w=!1,a=new g(J(h)),c=g.precision,g.precision=o=h.length*E*2;p=L(a,r,0,1,1),i=t.plus(p.times(n)),i.cmp(e)!=1;)t=n,n=i,i=u,u=l.plus(p.times(i)),l=i,i=r,r=a.minus(p.times(i)),a=i;return i=L(e.minus(t),n,0,1,1),l=l.plus(i.times(u)),t=t.plus(i.times(n)),l.s=u.s=f.s,d=L(u,n,o,1).minus(f).abs().cmp(L(l,t,o,1).minus(f).abs())<1?[u,n]:[l,t],g.precision=c,w=!0,d};m.toHexadecimal=m.toHex=function(e,r){return Ji(this,16,e,r)};m.toNearest=function(e,r){var t=this,n=t.constructor;if(t=new n(t),e==null){if(!t.d)return t;e=new n(1),r=n.rounding}else{if(e=new n(e),r===void 0?r=n.rounding:ne(r,0,8),!t.d)return e.s?t:e;if(!e.d)return e.s&&(e.s=t.s),e}return e.d[0]?(w=!1,t=L(t,e,0,r,1).times(e),w=!0,y(t)):(e.s=t.s,t=e),t};m.toNumber=function(){return+this};m.toOctal=function(e,r){return Ji(this,8,e,r)};m.toPower=m.pow=function(e){var r,t,n,i,o,s,a=this,l=a.constructor,u=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(U(+a,u));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return y(a,n,o);if(r=X(e.e/E),r>=e.d.length-1&&(t=u<0?-u:u)<=xp)return i=Gs(l,a,t,n),e.s<0?new l(1).div(i):y(i,n,o);if(s=a.s,s<0){if(rl.maxE+1||r0?s/0:0):(w=!1,l.rounding=a.s=1,t=Math.min(12,(r+"").length),i=Wi(e.times(Ke(a,n+t)),n),i.d&&(i=y(i,n+5,1),ut(i.d,n,o)&&(r=n+10,i=y(Wi(e.times(Ke(a,r+t)),r),r+5,1),+J(i.d).slice(n+1,n+15)+1==1e14&&(i=y(i,n+1,0)))),i.s=s,w=!0,l.rounding=o,y(i,n,o))};m.toPrecision=function(e,r){var t,n=this,i=n.constructor;return e===void 0?t=ve(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ne(e,1,Ye),r===void 0?r=i.rounding:ne(r,0,8),n=y(new i(n),e,r),t=ve(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+t:t};m.toSignificantDigits=m.toSD=function(e,r){var t=this,n=t.constructor;return e===void 0?(e=n.precision,r=n.rounding):(ne(e,1,Ye),r===void 0?r=n.rounding:ne(r,0,8)),y(new n(t),e,r)};m.toString=function(){var e=this,r=e.constructor,t=ve(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()&&!e.isZero()?"-"+t:t};m.truncated=m.trunc=function(){return y(new this.constructor(this),this.e+1,1)};m.valueOf=m.toJSON=function(){var e=this,r=e.constructor,t=ve(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()?"-"+t:t};function J(e){var r,t,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,r=1;rt)throw Error(He+e)}function ut(e,r,t,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--r;return--r<0?(r+=E,i=0):(i=Math.ceil((r+1)/E),r%=E),o=U(10,E-r),a=e[i]%o|0,n==null?r<3?(r==0?a=a/100|0:r==1&&(a=a/10|0),s=t<4&&a==99999||t>3&&a==49999||a==5e4||a==0):s=(t<4&&a+1==o||t>3&&a+1==o/2)&&(e[i+1]/o/100|0)==U(10,r-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:r<4?(r==0?a=a/1e3|0:r==1?a=a/100|0:r==2&&(a=a/10|0),s=(n||t<4)&&a==9999||!n&&t>3&&a==4999):s=((n||t<4)&&a+1==o||!n&&t>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==U(10,r-3)-1,s}function fn(e,r,t){for(var n,i=[0],o,s=0,a=e.length;st-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/t|0,i[n]%=t)}return i.reverse()}function Pp(e,r){var t,n,i;if(r.isZero())return r;n=r.d.length,n<32?(t=Math.ceil(n/3),i=(1/xn(4,t)).toString()):(t=16,i="2.3283064365386962890625e-10"),e.precision+=t,r=Tr(e,1,r.times(i),new e(1));for(var o=t;o--;){var s=r.times(r);r=s.times(s).minus(s).times(8).plus(1)}return e.precision-=t,r}var L=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function r(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function t(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var u,c,p,d,f,h,g,I,T,S,b,D,me,se,Kr,j,te,Ae,K,fr,Vt=n.constructor,ti=n.s==i.s?1:-1,H=n.d,k=i.d;if(!H||!H[0]||!k||!k[0])return new Vt(!n.s||!i.s||(H?k&&H[0]==k[0]:!k)?NaN:H&&H[0]==0||!k?ti*0:ti/0);for(l?(f=1,c=n.e-i.e):(l=fe,f=E,c=X(n.e/f)-X(i.e/f)),K=k.length,te=H.length,T=new Vt(ti),S=T.d=[],p=0;k[p]==(H[p]||0);p++);if(k[p]>(H[p]||0)&&c--,o==null?(se=o=Vt.precision,s=Vt.rounding):a?se=o+(n.e-i.e)+1:se=o,se<0)S.push(1),h=!0;else{if(se=se/f+2|0,p=0,K==1){for(d=0,k=k[0],se++;(p1&&(k=e(k,d,l),H=e(H,d,l),K=k.length,te=H.length),j=K,b=H.slice(0,K),D=b.length;D=l/2&&++Ae;do d=0,u=r(k,b,K,D),u<0?(me=b[0],K!=D&&(me=me*l+(b[1]||0)),d=me/Ae|0,d>1?(d>=l&&(d=l-1),g=e(k,d,l),I=g.length,D=b.length,u=r(g,b,I,D),u==1&&(d--,t(g,K=10;d/=10)p++;T.e=p+c*f-1,y(T,a?o+T.e+1:o,s,h)}return T}}();function y(e,r,t,n){var i,o,s,a,l,u,c,p,d,f=e.constructor;e:if(r!=null){if(p=e.d,!p)return e;for(i=1,a=p[0];a>=10;a/=10)i++;if(o=r-i,o<0)o+=E,s=r,c=p[d=0],l=c/U(10,i-s-1)%10|0;else if(d=Math.ceil((o+1)/E),a=p.length,d>=a)if(n){for(;a++<=d;)p.push(0);c=l=0,i=1,o%=E,s=o-E+1}else break e;else{for(c=a=p[d],i=1;a>=10;a/=10)i++;o%=E,s=o-E+i,l=s<0?0:c/U(10,i-s-1)%10|0}if(n=n||r<0||p[d+1]!==void 0||(s<0?c:c%U(10,i-s-1)),u=t<4?(l||n)&&(t==0||t==(e.s<0?3:2)):l>5||l==5&&(t==4||n||t==6&&(o>0?s>0?c/U(10,i-s):0:p[d-1])%10&1||t==(e.s<0?8:7)),r<1||!p[0])return p.length=0,u?(r-=e.e+1,p[0]=U(10,(E-r%E)%E),e.e=-r||0):p[0]=e.e=0,e;if(o==0?(p.length=d,a=1,d--):(p.length=d+1,a=U(10,E-o),p[d]=s>0?(c/U(10,i-s)%U(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=p[0];s>=10;s/=10)o++;for(s=p[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,p[0]==fe&&(p[0]=1));break}else{if(p[d]+=a,p[d]!=fe)break;p[d--]=0,a=1}for(o=p.length;p[--o]===0;)p.pop()}return w&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Je(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Je(-i-1)+o,t&&(n=t-s)>0&&(o+=Je(n))):i>=s?(o+=Je(i+1-s),t&&(n=t-i-1)>0&&(o=o+"."+Je(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Je(n))),o}function wn(e,r){var t=e[0];for(r*=E;t>=10;t/=10)r++;return r}function bn(e,r,t){if(r>vp)throw w=!0,t&&(e.precision=t),Error(qs);return y(new e(hn),r,1,!0)}function xe(e,r,t){if(r>Qi)throw Error(qs);return y(new e(yn),r,t,!0)}function Us(e){var r=e.length-1,t=r*E+1;if(r=e[r],r){for(;r%10==0;r/=10)t--;for(r=e[0];r>=10;r/=10)t++}return t}function Je(e){for(var r="";e--;)r+="0";return r}function Gs(e,r,t,n){var i,o=new e(1),s=Math.ceil(n/E+4);for(w=!1;;){if(t%2&&(o=o.times(r),Fs(o.d,s)&&(i=!0)),t=X(t/2),t===0){t=o.d.length-1,i&&o.d[t]===0&&++o.d[t];break}r=r.times(r),Fs(r.d,s)}return w=!0,o}function Ls(e){return e.d[e.d.length-1]&1}function Qs(e,r,t){for(var n,i,o=new e(r[0]),s=0;++s17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(r==null?(w=!1,l=h):l=r,a=new d(.03125);e.e>-2;)e=e.times(a),p+=5;for(n=Math.log(U(2,p))/Math.LN10*2+5|0,l+=n,t=o=s=new d(1),d.precision=l;;){if(o=y(o.times(e),l,1),t=t.times(++c),a=s.plus(L(o,t,l,1)),J(a.d).slice(0,l)===J(s.d).slice(0,l)){for(i=p;i--;)s=y(s.times(s),l,1);if(r==null)if(u<3&&ut(s.d,l-n,f,u))d.precision=l+=10,t=o=a=new d(1),c=0,u++;else return y(s,d.precision=h,f,w=!0);else return d.precision=h,s}s=a}}function Ke(e,r){var t,n,i,o,s,a,l,u,c,p,d,f=1,h=10,g=e,I=g.d,T=g.constructor,S=T.rounding,b=T.precision;if(g.s<0||!I||!I[0]||!g.e&&I[0]==1&&I.length==1)return new T(I&&!I[0]?-1/0:g.s!=1?NaN:I?0:g);if(r==null?(w=!1,c=b):c=r,T.precision=c+=h,t=J(I),n=t.charAt(0),Math.abs(o=g.e)<15e14){for(;n<7&&n!=1||n==1&&t.charAt(1)>3;)g=g.times(e),t=J(g.d),n=t.charAt(0),f++;o=g.e,n>1?(g=new T("0."+t),o++):g=new T(n+"."+t.slice(1))}else return u=bn(T,c+2,b).times(o+""),g=Ke(new T(n+"."+t.slice(1)),c-h).plus(u),T.precision=b,r==null?y(g,b,S,w=!0):g;for(p=g,l=s=g=L(g.minus(1),g.plus(1),c,1),d=y(g.times(g),c,1),i=3;;){if(s=y(s.times(d),c,1),u=l.plus(L(s,new T(i),c,1)),J(u.d).slice(0,c)===J(l.d).slice(0,c))if(l=l.times(2),o!==0&&(l=l.plus(bn(T,c+2,b).times(o+""))),l=L(l,new T(f),c,1),r==null)if(ut(l.d,c-h,S,a))T.precision=c+=h,u=s=g=L(p.minus(1),p.plus(1),c,1),d=y(g.times(g),c,1),i=a=1;else return y(l,T.precision=b,S,w=!0);else return T.precision=b,l;l=u,i+=2}}function Ws(e){return String(e.s*e.s/0)}function gn(e,r){var t,n,i;for((t=r.indexOf("."))>-1&&(r=r.replace(".","")),(n=r.search(/e/i))>0?(t<0&&(t=n),t+=+r.slice(n+1),r=r.substring(0,n)):t<0&&(t=r.length),n=0;r.charCodeAt(n)===48;n++);for(i=r.length;r.charCodeAt(i-1)===48;--i);if(r=r.slice(n,i),r){if(i-=n,e.e=t=t-n-1,e.d=[],n=(t+1)%E,t<0&&(n+=E),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(r=r.replace(/(\d)_(?=\d)/g,"$1"),Bs.test(r))return gn(e,r)}else if(r==="Infinity"||r==="NaN")return+r||(e.s=NaN),e.e=NaN,e.d=null,e;if(Ep.test(r))t=16,r=r.toLowerCase();else if(bp.test(r))t=2;else if(wp.test(r))t=8;else throw Error(He+r);for(o=r.search(/p/i),o>0?(l=+r.slice(o+1),r=r.substring(2,o)):r=r.slice(2),o=r.indexOf("."),s=o>=0,n=e.constructor,s&&(r=r.replace(".",""),a=r.length,o=a-o,i=Gs(n,new n(t),o,o*2)),u=fn(r,t,fe),c=u.length-1,o=c;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=wn(u,c),e.d=u,w=!1,s&&(e=L(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?U(2,l):Le.pow(2,l))),w=!0,e)}function Sp(e,r){var t,n=r.d.length;if(n<3)return r.isZero()?r:Tr(e,2,r,r);t=1.4*Math.sqrt(n),t=t>16?16:t|0,r=r.times(1/xn(5,t)),r=Tr(e,2,r,r);for(var i,o=new e(5),s=new e(16),a=new e(20);t--;)i=r.times(r),r=r.times(o.plus(i.times(s.times(i).minus(a))));return r}function Tr(e,r,t,n,i){var o,s,a,l,u=1,c=e.precision,p=Math.ceil(c/E);for(w=!1,l=t.times(t),a=new e(n);;){if(s=L(a.times(l),new e(r++*r++),c,1),a=i?n.plus(s):n.minus(s),n=L(s.times(l),new e(r++*r++),c,1),s=a.plus(n),s.d[p]!==void 0){for(o=p;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return w=!0,s.d.length=p+1,s}function xn(e,r){for(var t=e;--r;)t*=e;return t}function Js(e,r){var t,n=r.s<0,i=xe(e,e.precision,1),o=i.times(.5);if(r=r.abs(),r.lte(o))return Ne=n?4:1,r;if(t=r.divToInt(i),t.isZero())Ne=n?3:2;else{if(r=r.minus(t.times(i)),r.lte(o))return Ne=Ls(t)?n?2:3:n?4:1,r;Ne=Ls(t)?n?1:4:n?3:2}return r.minus(i).abs()}function Ji(e,r,t,n){var i,o,s,a,l,u,c,p,d,f=e.constructor,h=t!==void 0;if(h?(ne(t,1,Ye),n===void 0?n=f.rounding:ne(n,0,8)):(t=f.precision,n=f.rounding),!e.isFinite())c=Ws(e);else{for(c=ve(e),s=c.indexOf("."),h?(i=2,r==16?t=t*4-3:r==8&&(t=t*3-2)):i=r,s>=0&&(c=c.replace(".",""),d=new f(1),d.e=c.length-s,d.d=fn(ve(d),10,i),d.e=d.d.length),p=fn(c,10,i),o=l=p.length;p[--l]==0;)p.pop();if(!p[0])c=h?"0p+0":"0";else{if(s<0?o--:(e=new f(e),e.d=p,e.e=o,e=L(e,d,t,n,0,i),p=e.d,o=e.e,u=$s),s=p[t],a=i/2,u=u||p[t+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&p[t-1]&1||n===(e.s<0?8:7)),p.length=t,u)for(;++p[--t]>i-1;)p[t]=0,t||(++o,p.unshift(1));for(l=p.length;!p[l-1];--l);for(s=0,c="";s1)if(r==16||r==8){for(s=r==16?4:3,--l;l%s;l++)c+="0";for(p=fn(c,i,r),l=p.length;!p[l-1];--l);for(s=1,c="1.";sl)for(o-=l;o--;)c+="0";else or)return e.length=r,!0}function Rp(e){return new this(e).abs()}function Ap(e){return new this(e).acos()}function Cp(e){return new this(e).acosh()}function Ip(e,r){return new this(e).plus(r)}function Dp(e){return new this(e).asin()}function Op(e){return new this(e).asinh()}function kp(e){return new this(e).atan()}function _p(e){return new this(e).atanh()}function Np(e,r){e=new this(e),r=new this(r);var t,n=this.precision,i=this.rounding,o=n+4;return!e.s||!r.s?t=new this(NaN):!e.d&&!r.d?(t=xe(this,o,1).times(r.s>0?.25:.75),t.s=e.s):!r.d||e.isZero()?(t=r.s<0?xe(this,n,i):new this(0),t.s=e.s):!e.d||r.isZero()?(t=xe(this,o,1).times(.5),t.s=e.s):r.s<0?(this.precision=o,this.rounding=1,t=this.atan(L(e,r,o,1)),r=xe(this,o,1),this.precision=n,this.rounding=i,t=e.s<0?t.minus(r):t.plus(r)):t=this.atan(L(e,r,o,1)),t}function Lp(e){return new this(e).cbrt()}function Fp(e){return y(e=new this(e),e.e+1,2)}function Mp(e,r,t){return new this(e).clamp(r,t)}function $p(e){if(!e||typeof e!="object")throw Error(En+"Object expected");var r,t,n,i=e.defaults===!0,o=["precision",1,Ye,"rounding",0,8,"toExpNeg",-Pr,0,"toExpPos",0,Pr,"maxE",0,Pr,"minE",-Pr,0,"modulo",0,9];for(r=0;r=o[r+1]&&n<=o[r+2])this[t]=n;else throw Error(He+t+": "+n);if(t="crypto",i&&(this[t]=Gi[t]),(n=e[t])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Vs);else this[t]=!1;else throw Error(He+t+": "+n);return this}function qp(e){return new this(e).cos()}function Vp(e){return new this(e).cosh()}function Ks(e){var r,t,n;function i(o){var s,a,l,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,Ms(o)){u.s=o.s,w?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e=10;a/=10)s++;w?s>i.maxE?(u.e=NaN,u.d=null):s=429e7?r[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(r=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(r,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(Vs);else for(;o=10;i/=10)n++;nRr,datamodelEnumToSchemaEnum:()=>pd});function pd(e){return{name:e.name,values:e.values.map(r=>r.name)}}var Rr=(b=>(b.findUnique="findUnique",b.findUniqueOrThrow="findUniqueOrThrow",b.findFirst="findFirst",b.findFirstOrThrow="findFirstOrThrow",b.findMany="findMany",b.create="create",b.createMany="createMany",b.createManyAndReturn="createManyAndReturn",b.update="update",b.updateMany="updateMany",b.updateManyAndReturn="updateManyAndReturn",b.upsert="upsert",b.delete="delete",b.deleteMany="deleteMany",b.groupBy="groupBy",b.count="count",b.aggregate="aggregate",b.findRaw="findRaw",b.aggregateRaw="aggregateRaw",b))(Rr||{});var Xs=O(Di());var Zs=O(require("node:fs"));var Hs={keyword:De,entity:De,value:e=>W(nr(e)),punctuation:nr,directive:De,function:De,variable:e=>W(nr(e)),string:e=>W(qe(e)),boolean:Ie,number:De,comment:Hr};var dd=e=>e,vn={},md=0,v={manual:vn.Prism&&vn.Prism.manual,disableWorkerMessageHandler:vn.Prism&&vn.Prism.disableWorkerMessageHandler,util:{encode:function(e){if(e instanceof ge){let r=e;return new ge(r.type,v.util.encode(r.content),r.alias)}else return Array.isArray(e)?e.map(v.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(Ae instanceof ge)continue;if(me&&j!=r.length-1){S.lastIndex=te;var p=S.exec(e);if(!p)break;var c=p.index+(D?p[1].length:0),d=p.index+p[0].length,a=j,l=te;for(let k=r.length;a=l&&(++j,te=l);if(r[j]instanceof ge)continue;u=a-j,Ae=e.slice(te,l),p.index-=te}else{S.lastIndex=0;var p=S.exec(Ae),u=1}if(!p){if(o)break;continue}D&&(se=p[1]?p[1].length:0);var c=p.index+se,p=p[0].slice(se),d=c+p.length,f=Ae.slice(0,c),h=Ae.slice(d);let K=[j,u];f&&(++j,te+=f.length,K.push(f));let fr=new ge(g,b?v.tokenize(p,b):p,Kr,p,me);if(K.push(fr),h&&K.push(h),Array.prototype.splice.apply(r,K),u!=1&&v.matchGrammar(e,r,t,j,te,!0,g),o)break}}}},tokenize:function(e,r){let t=[e],n=r.rest;if(n){for(let i in n)r[i]=n[i];delete r.rest}return v.matchGrammar(e,t,r,0,0,!1),t},hooks:{all:{},add:function(e,r){let t=v.hooks.all;t[e]=t[e]||[],t[e].push(r)},run:function(e,r){let t=v.hooks.all[e];if(!(!t||!t.length))for(var n=0,i;i=t[n++];)i(r)}},Token:ge};v.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};v.languages.javascript=v.languages.extend("clike",{"class-name":[v.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/});v.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;v.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:v.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:v.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:v.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:v.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});v.languages.markup&&v.languages.markup.tag.addInlined("script","javascript");v.languages.js=v.languages.javascript;v.languages.typescript=v.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/});v.languages.ts=v.languages.typescript;function ge(e,r,t,n,i){this.type=e,this.content=r,this.alias=t,this.length=(n||"").length|0,this.greedy=!!i}ge.stringify=function(e,r){return typeof e=="string"?e:Array.isArray(e)?e.map(function(t){return ge.stringify(t,r)}).join(""):fd(e.type)(e.content)};function fd(e){return Hs[e]||dd}function Ys(e){return gd(e,v.languages.javascript)}function gd(e,r){return v.tokenize(e,r).map(n=>ge.stringify(n)).join("")}function zs(e){return Ci(e)}var Pn=class e{firstLineNumber;lines;static read(r){let t;try{t=Zs.default.readFileSync(r,"utf-8")}catch{return null}return e.fromContent(t)}static fromContent(r){let t=r.split(/\r?\n/);return new e(1,t)}constructor(r,t){this.firstLineNumber=r,this.lines=t}get lastLineNumber(){return this.firstLineNumber+this.lines.length-1}mapLineAt(r,t){if(rthis.lines.length+this.firstLineNumber)return this;let n=r-this.firstLineNumber,i=[...this.lines];return i[n]=t(i[n]),new e(this.firstLineNumber,i)}mapLines(r){return new e(this.firstLineNumber,this.lines.map((t,n)=>r(t,this.firstLineNumber+n)))}lineAt(r){return this.lines[r-this.firstLineNumber]}prependSymbolAt(r,t){return this.mapLines((n,i)=>i===r?`${t} ${n}`:` ${n}`)}slice(r,t){let n=this.lines.slice(r-1,t).join(` +`);return new e(r,zs(n).split(` +`))}highlight(){let r=Ys(this.toString());return new e(this.firstLineNumber,r.split(` +`))}toString(){return this.lines.join(` +`)}};var hd={red:ce,gray:Hr,dim:Ce,bold:W,underline:Y,highlightSource:e=>e.highlight()},yd={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function bd({message:e,originalMethod:r,isPanic:t,callArguments:n}){return{functionName:`prisma.${r}()`,message:e,isPanic:t??!1,callArguments:n}}function Ed({callsite:e,message:r,originalMethod:t,isPanic:n,callArguments:i},o){let s=bd({message:r,originalMethod:t,isPanic:n,callArguments:i});if(!e||typeof window<"u"||process.env.NODE_ENV==="production")return s;let a=e.getLocation();if(!a||!a.lineNumber||!a.columnNumber)return s;let l=Math.max(1,a.lineNumber-3),u=Pn.read(a.fileName)?.slice(l,a.lineNumber),c=u?.lineAt(a.lineNumber);if(u&&c){let p=xd(c),d=wd(c);if(!d)return s;s.functionName=`${d.code})`,s.location=a,n||(u=u.mapLineAt(a.lineNumber,h=>h.slice(0,d.openingBraceIndex))),u=o.highlightSource(u);let f=String(u.lastLineNumber).length;if(s.contextLines=u.mapLines((h,g)=>o.gray(String(g).padStart(f))+" "+h).mapLines(h=>o.dim(h)).prependSymbolAt(a.lineNumber,o.bold(o.red("\u2192"))),i){let h=p+f+1;h+=2,s.callArguments=(0,Xs.default)(i,h).slice(h)}}return s}function wd(e){let r=Object.keys(Rr).join("|"),n=new RegExp(String.raw`\.(${r})\(`).exec(e);if(n){let i=n.index+n[0].length,o=e.lastIndexOf(" ",n.index)+1;return{code:e.slice(o,i),openingBraceIndex:i}}return null}function xd(e){let r=0;for(let t=0;t"Unknown error")}function ia(e){return e.errors.flatMap(r=>r.kind==="Union"?ia(r):[r])}function Td(e){let r=new Map,t=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){t.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=r.get(i);o?r.set(i,{...n,argument:{...n.argument,typeNames:Sd(o.argument.typeNames,n.argument.typeNames)}}):r.set(i,n)}return t.push(...r.values()),t}function Sd(e,r){return[...new Set(e.concat(r))]}function Rd(e){return ji(e,(r,t)=>{let n=ra(r),i=ra(t);return n!==i?n-i:ta(r)-ta(t)})}function ra(e){let r=0;return Array.isArray(e.selectionPath)&&(r+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(r+=e.argumentPath.length),r}function ta(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}var le=class{constructor(r,t){this.name=r;this.value=t}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(r){let{colors:{green:t}}=r.context;r.addMarginSymbol(t(this.isRequired?"+":"?")),r.write(t(this.name)),this.isRequired||r.write(t("?")),r.write(t(": ")),typeof this.value=="string"?r.write(t(this.value)):r.write(this.value)}};sa();var Ar=class{constructor(r=0,t){this.context=t;this.currentIndent=r}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(r){return typeof r=="string"?this.currentLine+=r:r.write(this),this}writeJoined(r,t,n=(i,o)=>o.write(i)){let i=t.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(r){return this.marginSymbol=r,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let r=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+r.slice(1):r}};oa();var Rn=class{constructor(r){this.value=r}write(r){r.write(this.value)}markAsError(){this.value.markAsError()}};var An=e=>e,Cn={bold:An,red:An,green:An,dim:An,enabled:!1},aa={bold:W,red:ce,green:qe,dim:Ce,enabled:!0},Cr={write(e){e.writeLine(",")}};var Pe=class{constructor(r){this.contents=r}isUnderlined=!1;color=r=>r;underline(){return this.isUnderlined=!0,this}setColor(r){return this.color=r,this}write(r){let t=r.getCurrentLineLength();r.write(this.color(this.contents)),this.isUnderlined&&r.afterNextNewline(()=>{r.write(" ".repeat(t)).writeLine(this.color("~".repeat(this.contents.length)))})}};var ze=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var Ir=class extends ze{items=[];addItem(r){return this.items.push(new Rn(r)),this}getField(r){return this.items[r]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(t=>t.value.getPrintWidth()))+2}write(r){if(this.items.length===0){this.writeEmpty(r);return}this.writeWithItems(r)}writeEmpty(r){let t=new Pe("[]");this.hasError&&t.setColor(r.context.colors.red).underline(),r.write(t)}writeWithItems(r){let{colors:t}=r.context;r.writeLine("[").withIndent(()=>r.writeJoined(Cr,this.items).newLine()).write("]"),this.hasError&&r.afterNextNewline(()=>{r.writeLine(t.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var Dr=class e extends ze{fields={};suggestions=[];addField(r){this.fields[r.name]=r}addSuggestion(r){this.suggestions.push(r)}getField(r){return this.fields[r]}getDeepField(r){let[t,...n]=r,i=this.getField(t);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof Ir&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(r){return r.length===0?this:this.getDeepField(r)?.value}hasField(r){return!!this.getField(r)}removeAllFields(){this.fields={}}removeField(r){delete this.fields[r]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(r){return this.getField(r)?.value}getDeepSubSelectionValue(r){let t=this;for(let n of r){if(!(t instanceof e))return;let i=t.getSubSelectionValue(n);if(!i)return;t=i}return t}getDeepSelectionParent(r){let t=this.getSelectionParent();if(!t)return;let n=t;for(let i of r){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let r=this.getField("select")?.value.asObject();if(r)return{kind:"select",value:r};let t=this.getField("include")?.value.asObject();if(t)return{kind:"include",value:t}}getSubSelectionValue(r){return this.getSelectionParent()?.value.fields[r].value}getPrintWidth(){let r=Object.values(this.fields);return r.length==0?2:Math.max(...r.map(n=>n.getPrintWidth()))+2}write(r){let t=Object.values(this.fields);if(t.length===0&&this.suggestions.length===0){this.writeEmpty(r);return}this.writeWithContents(r,t)}asObject(){return this}writeEmpty(r){let t=new Pe("{}");this.hasError&&t.setColor(r.context.colors.red).underline(),r.write(t)}writeWithContents(r,t){r.writeLine("{").withIndent(()=>{r.writeJoined(Cr,[...t,...this.suggestions]).newLine()}),r.write("}"),this.hasError&&r.afterNextNewline(()=>{r.writeLine(r.context.colors.red("~".repeat(this.getPrintWidth())))})}};var Q=class extends ze{constructor(t){super();this.text=t}getPrintWidth(){return this.text.length}write(t){let n=new Pe(this.text);this.hasError&&n.underline().setColor(t.context.colors.red),t.write(n)}asObject(){}};var pt=class{fields=[];addField(r,t){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${r}: ${t}`))).addMarginSymbol(i(o("+")))}}),this}write(r){let{colors:{green:t}}=r.context;r.writeLine(t("{")).withIndent(()=>{r.writeJoined(Cr,this.fields).newLine()}).write(t("}")).addMarginSymbol(t("+"))}};function Sn(e,r,t){switch(e.kind){case"MutuallyExclusiveFields":Ad(e,r);break;case"IncludeOnScalar":Cd(e,r);break;case"EmptySelection":Id(e,r,t);break;case"UnknownSelectionField":_d(e,r);break;case"InvalidSelectionValue":Nd(e,r);break;case"UnknownArgument":Ld(e,r);break;case"UnknownInputField":Fd(e,r);break;case"RequiredArgumentMissing":Md(e,r);break;case"InvalidArgumentType":$d(e,r);break;case"InvalidArgumentValue":qd(e,r);break;case"ValueTooLarge":Vd(e,r);break;case"SomeFieldsMissing":jd(e,r);break;case"TooManyFieldsGiven":Bd(e,r);break;case"Union":na(e,r,t);break;default:throw new Error("not implemented: "+e.kind)}}function Ad(e,r){let t=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();t&&(t.getField(e.firstField)?.markAsError(),t.getField(e.secondField)?.markAsError()),r.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function Cd(e,r){let[t,n]=Or(e.selectionPath),i=e.outputType,o=r.arguments.getDeepSelectionParent(t)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new le(s.name,"true"));r.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${dt(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Id(e,r,t){let n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Dd(e,r,i);return}if(n.hasField("select")){Od(e,r);return}}if(t?.[We(e.outputType.name)]){kd(e,r);return}r.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Dd(e,r,t){t.removeAllFields();for(let n of e.outputType.fields)t.addSuggestion(new le(n.name,"false"));r.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Od(e,r){let t=e.outputType,n=r.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),pa(n,t)),r.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(t.name)} must not be empty. ${dt(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(t.name)} needs ${o.bold("at least one truthy value")}.`)}function kd(e,r){let t=new pt;for(let i of e.outputType.fields)i.isRelation||t.addField(i.name,"false");let n=new le("omit",t).makeRequired();if(e.selectionPath.length===0)r.arguments.addSuggestion(n);else{let[i,o]=Or(e.selectionPath),a=r.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new Dr;l.addSuggestion(n),a.value=l}}r.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function _d(e,r){let t=da(e.selectionPath,r);if(t.parentKind!=="unknown"){t.field.markAsError();let n=t.parent;switch(t.parentKind){case"select":pa(n,e.outputType);break;case"include":Ud(n,e.outputType);break;case"omit":Gd(n,e.outputType);break}}r.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${t.fieldName}\``)}`];return t.parentKind!=="unknown"&&i.push(`for ${n.bold(t.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(dt(n)),i.join(" ")})}function Nd(e,r){let t=da(e.selectionPath,r);t.parentKind!=="unknown"&&t.field.value.markAsError(),r.addErrorMessage(n=>`Invalid value for selection field \`${n.red(t.fieldName)}\`: ${e.underlyingError}`)}function Ld(e,r){let t=e.argumentPath[0],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(t)?.markAsError(),Qd(n,e.arguments)),r.addErrorMessage(i=>ua(i,t,e.arguments.map(o=>o.name)))}function Fd(e,r){let[t,n]=Or(e.argumentPath),i=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(t)?.asObject();o&&ma(o,e.inputType)}r.addErrorMessage(o=>ua(o,n,e.inputType.fields.map(s=>s.name)))}function ua(e,r,t){let n=[`Unknown argument \`${e.red(r)}\`.`],i=Jd(r,t);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),t.length>0&&n.push(dt(e)),n.join(" ")}function Md(e,r){let t;r.addErrorMessage(l=>t?.value instanceof Q&&t.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=Or(e.argumentPath),s=new pt,a=n.getDeepFieldValue(i)?.asObject();if(a){if(t=a.getField(o),t&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new le(o,s).makeRequired())}else{let l=e.inputTypes.map(ca).join(" | ");a.addSuggestion(new le(o,l).makeRequired())}if(e.dependentArgumentPath){n.getDeepField(e.dependentArgumentPath)?.markAsError();let[,l]=Or(e.dependentArgumentPath);r.addErrorMessage(u=>`Argument \`${u.green(o)}\` is required because argument \`${u.green(l)}\` was provided.`)}}}function ca(e){return e.kind==="list"?`${ca(e.elementType)}[]`:e.name}function $d(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),r.addErrorMessage(i=>{let o=In("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(t)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function qd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),r.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(t)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=In("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Vd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof Q&&(i=s.text)}r.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(t)}\``),s.join(" ")})}function jd(e,r){let t=e.argumentPath[e.argumentPath.length-1],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&ma(i,e.inputType)}r.addErrorMessage(i=>{let o=[`Argument \`${i.bold(t)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${In("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(dt(i)),o.join(" ")})}function Bd(e,r){let t=e.argumentPath[e.argumentPath.length-1],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}r.addErrorMessage(o=>{let s=[`Argument \`${o.bold(t)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${In("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function pa(e,r){for(let t of r.fields)e.hasField(t.name)||e.addSuggestion(new le(t.name,"true"))}function Ud(e,r){for(let t of r.fields)t.isRelation&&!e.hasField(t.name)&&e.addSuggestion(new le(t.name,"true"))}function Gd(e,r){for(let t of r.fields)!e.hasField(t.name)&&!t.isRelation&&e.addSuggestion(new le(t.name,"true"))}function Qd(e,r){for(let t of r)e.hasField(t.name)||e.addSuggestion(new le(t.name,t.typeNames.join(" | ")))}function da(e,r){let[t,n]=Or(e),i=r.arguments.getDeepSubSelectionValue(t)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function ma(e,r){if(r.kind==="object")for(let t of r.fields)e.hasField(t.name)||e.addSuggestion(new le(t.name,t.typeNames.join(" | ")))}function Or(e){let r=[...e],t=r.pop();if(!t)throw new Error("unexpected empty path");return[r,t]}function dt({green:e,enabled:r}){return"Available options are "+(r?`listed in ${e("green")}`:"marked with ?")+"."}function In(e,r){if(r.length===1)return r[0];let t=[...r],n=t.pop();return`${t.join(", ")} ${e} ${n}`}var Wd=3;function Jd(e,r){let t=1/0,n;for(let i of r){let o=(0,la.default)(e,i);o>Wd||o`}};function kr(e){return e instanceof mt}var Dn=Symbol(),Yi=new WeakMap,Me=class{constructor(r){r===Dn?Yi.set(this,`Prisma.${this._getName()}`):Yi.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Yi.get(this)}},ft=class extends Me{_getNamespace(){return"NullTypes"}},gt=class extends ft{#e};zi(gt,"DbNull");var ht=class extends ft{#e};zi(ht,"JsonNull");var yt=class extends ft{#e};zi(yt,"AnyNull");var On={classes:{DbNull:gt,JsonNull:ht,AnyNull:yt},instances:{DbNull:new gt(Dn),JsonNull:new ht(Dn),AnyNull:new yt(Dn)}};function zi(e,r){Object.defineProperty(e,"name",{value:r,configurable:!0})}var fa=": ",kn=class{constructor(r,t){this.name=r;this.value=t}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+fa.length}write(r){let t=new Pe(this.name);this.hasError&&t.underline().setColor(r.context.colors.red),r.write(t).write(fa).write(this.value)}};var Zi=class{arguments;errorMessages=[];constructor(r){this.arguments=r}write(r){r.write(this.arguments)}addErrorMessage(r){this.errorMessages.push(r)}renderAllMessages(r){return this.errorMessages.map(t=>t(r)).join(` +`)}};function _r(e){return new Zi(ga(e))}function ga(e){let r=new Dr;for(let[t,n]of Object.entries(e)){let i=new kn(t,ha(n));r.addField(i)}return r}function ha(e){if(typeof e=="string")return new Q(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new Q(String(e));if(typeof e=="bigint")return new Q(`${e}n`);if(e===null)return new Q("null");if(e===void 0)return new Q("undefined");if(Sr(e))return new Q(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return Buffer.isBuffer(e)?new Q(`Buffer.alloc(${e.byteLength})`):new Q(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let r=mn(e)?e.toISOString():"Invalid Date";return new Q(`new Date("${r}")`)}return e instanceof Me?new Q(`Prisma.${e._getName()}`):kr(e)?new Q(`prisma.${We(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Kd(e):typeof e=="object"?ga(e):new Q(Object.prototype.toString.call(e))}function Kd(e){let r=new Ir;for(let t of e)r.addItem(ha(t));return r}function _n(e,r){let t=r==="pretty"?aa:Cn,n=e.renderAllMessages(t),i=new Ar(0,{colors:t}).write(e).toString();return{message:n,args:i}}function Nn({args:e,errors:r,errorFormat:t,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=_r(e);for(let p of r)Sn(p,a,s);let{message:l,args:u}=_n(a,t),c=Tn({message:l,callsite:n,originalMethod:i,showColors:t==="pretty",callArguments:u});throw new Z(c,{clientVersion:o})}function Te(e){return e.replace(/^./,r=>r.toLowerCase())}function ba(e,r,t){let n=Te(t);return!r.result||!(r.result.$allModels||r.result[n])?e:Hd({...e,...ya(r.name,e,r.result.$allModels),...ya(r.name,e,r.result[n])})}function Hd(e){let r=new we,t=(n,i)=>r.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>t(o,i)):[n]));return pn(e,n=>({...n,needs:t(n.name,new Set)}))}function ya(e,r,t){return t?pn(t,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Yd(r,o,i)})):{}}function Yd(e,r,t){let n=e?.[r]?.compute;return n?i=>t({...i,[r]:n(i)}):t}function Ea(e,r){if(!r)return e;let t={...e};for(let n of Object.values(r))if(e[n.name])for(let i of n.needs)t[i]=!0;return t}function wa(e,r){if(!r)return e;let t={...e};for(let n of Object.values(r))if(!e[n.name])for(let i of n.needs)delete t[i];return t}var Ln=class{constructor(r,t){this.extension=r;this.previous=t}computedFieldsCache=new we;modelExtensionsCache=new we;queryCallbacksCache=new we;clientExtensions=lt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=lt(()=>{let r=this.previous?.getAllBatchQueryCallbacks()??[],t=this.extension.query?.$__internalBatch;return t?r.concat(t):r});getAllComputedFields(r){return this.computedFieldsCache.getOrCreate(r,()=>ba(this.previous?.getAllComputedFields(r),this.extension,r))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(r){return this.modelExtensionsCache.getOrCreate(r,()=>{let t=Te(r);return!this.extension.model||!(this.extension.model[t]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(r):{...this.previous?.getAllModelExtensions(r),...this.extension.model.$allModels,...this.extension.model[t]}})}getAllQueryCallbacks(r,t){return this.queryCallbacksCache.getOrCreate(`${r}:${t}`,()=>{let n=this.previous?.getAllQueryCallbacks(r,t)??[],i=[],o=this.extension.query;return!o||!(o[r]||o.$allModels||o[t]||o.$allOperations)?n:(o[r]!==void 0&&(o[r][t]!==void 0&&i.push(o[r][t]),o[r].$allOperations!==void 0&&i.push(o[r].$allOperations)),r!=="$none"&&o.$allModels!==void 0&&(o.$allModels[t]!==void 0&&i.push(o.$allModels[t]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[t]!==void 0&&i.push(o[t]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},Nr=class e{constructor(r){this.head=r}static empty(){return new e}static single(r){return new e(new Ln(r))}isEmpty(){return this.head===void 0}append(r){return new e(new Ln(r,this.head))}getAllComputedFields(r){return this.head?.getAllComputedFields(r)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(r){return this.head?.getAllModelExtensions(r)}getAllQueryCallbacks(r,t){return this.head?.getAllQueryCallbacks(r,t)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};var Fn=class{constructor(r){this.name=r}};function xa(e){return e instanceof Fn}function va(e){return new Fn(e)}var Pa=Symbol(),bt=class{constructor(r){if(r!==Pa)throw new Error("Skip instance can not be constructed directly")}ifUndefined(r){return r===void 0?Mn:r}},Mn=new bt(Pa);function Se(e){return e instanceof bt}var zd={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Ta="explicitly `undefined` values are not allowed";function $n({modelName:e,action:r,args:t,runtimeDataModel:n,extensions:i=Nr.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:c}){let p=new Xi({runtimeDataModel:n,modelName:e,action:r,rootArgs:t,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:c});return{modelName:e,action:zd[r],query:Et(t,p)}}function Et({select:e,include:r,...t}={},n){let i=t.omit;return delete t.omit,{arguments:Ra(t,n),selection:Zd(e,r,i,n)}}function Zd(e,r,t,n){return e?(r?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):t&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),tm(e,n)):Xd(n,r,t)}function Xd(e,r,t){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),r&&em(n,r,e),rm(n,t,e),n}function em(e,r,t){for(let[n,i]of Object.entries(r)){if(Se(i))continue;let o=t.nestSelection(n);if(eo(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=t.findField(n);if(s&&s.kind!=="object"&&t.throwValidationError({kind:"IncludeOnScalar",selectionPath:t.getSelectionPath().concat(n),outputType:t.getOutputTypeDescription()}),s){e[n]=Et(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Et(i,o)}}function rm(e,r,t){let n=t.getComputedFields(),i={...t.getGlobalOmit(),...r},o=wa(i,n);for(let[s,a]of Object.entries(o)){if(Se(a))continue;eo(a,t.nestSelection(s));let l=t.findField(s);n?.[s]&&!l||(e[s]=!a)}}function tm(e,r){let t={},n=r.getComputedFields(),i=Ea(e,n);for(let[o,s]of Object.entries(i)){if(Se(s))continue;let a=r.nestSelection(o);eo(s,a);let l=r.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||Se(s)){t[o]=!1;continue}if(s===!0){l?.kind==="object"?t[o]=Et({},a):t[o]=!0;continue}t[o]=Et(s,a)}}return t}function Sa(e,r){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(vr(e)){if(mn(e))return{$type:"DateTime",value:e.toISOString()};r.throwValidationError({kind:"InvalidArgumentValue",selectionPath:r.getSelectionPath(),argumentPath:r.getArgumentPath(),argument:{name:r.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(xa(e))return{$type:"Param",value:e.name};if(kr(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return nm(e,r);if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:Buffer.from(t,n,i).toString("base64")}}if(im(e))return e.values;if(Sr(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Me){if(e!==On.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(om(e))return e.toJSON();if(typeof e=="object")return Ra(e,r);r.throwValidationError({kind:"InvalidArgumentValue",selectionPath:r.getSelectionPath(),argumentPath:r.getArgumentPath(),argument:{name:r.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Ra(e,r){if(e.$type)return{$type:"Raw",value:e};let t={};for(let n in e){let i=e[n],o=r.nestArgument(n);Se(i)||(i!==void 0?t[n]=Sa(i,o):r.isPreviewFeatureOn("strictUndefinedChecks")&&r.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:r.getSelectionPath(),argument:{name:r.getArgumentName(),typeNames:[]},underlyingError:Ta}))}return t}function nm(e,r){let t=[];for(let n=0;n({name:r.name,typeName:"boolean",isRelation:r.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(r){return this.params.previewFeatures.includes(r)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(r){return this.modelOrType?.fields.find(t=>t.name===r)}nestSelection(r){let t=this.findField(r),n=t?.kind==="object"?t.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(r)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[We(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:ar(this.params.action,"Unknown action")}}nestArgument(r){return new e({...this.params,argumentPath:this.params.argumentPath.concat(r)})}};function Aa(e){if(!e._hasPreviewFlag("metrics"))throw new Z("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var Lr=class{_client;constructor(r){this._client=r}prometheus(r){return Aa(this._client),this._client._engine.metrics({format:"prometheus",...r})}json(r){return Aa(this._client),this._client._engine.metrics({format:"json",...r})}};function Ca(e,r){let t=lt(()=>sm(r));Object.defineProperty(e,"dmmf",{get:()=>t.get()})}function sm(e){return{datamodel:{models:ro(e.models),enums:ro(e.enums),types:ro(e.types)}}}function ro(e){return Object.entries(e).map(([r,t])=>({name:r,...t}))}var to=new WeakMap,qn="$$PrismaTypedSql",wt=class{constructor(r,t){to.set(this,{sql:r,values:t}),Object.defineProperty(this,qn,{value:qn})}get sql(){return to.get(this).sql}get values(){return to.get(this).values}};function Ia(e){return(...r)=>new wt(e,r)}function Vn(e){return e!=null&&e[qn]===qn}var cu=O(Ti());var pu=require("node:async_hooks"),du=require("node:events"),mu=O(require("node:fs")),ri=O(require("node:path"));var ie=class e{constructor(r,t){if(r.length-1!==t.length)throw r.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${r.length} strings to have ${r.length-1} values`);let n=t.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=r[0];let i=0,o=0;for(;ie.getPropertyValue(t))},getPropertyDescriptor(t){return e.getPropertyDescriptor?.(t)}}}var jn={enumerable:!0,configurable:!0,writable:!0};function Bn(e){let r=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>jn,has:(t,n)=>r.has(n),set:(t,n,i)=>r.add(n)&&Reflect.set(t,n,i),ownKeys:()=>[...r]}}var ka=Symbol.for("nodejs.util.inspect.custom");function he(e,r){let t=am(r),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=t.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=t.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=_a(Reflect.ownKeys(o),t),a=_a(Array.from(t.keys()),t);return[...new Set([...s,...a,...n])]},set(o,s,a){return t.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=t.get(s);return l?l.getPropertyDescriptor?{...jn,...l?.getPropertyDescriptor(s)}:jn:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[ka]=function(){let o={...this};return delete o[ka],o},i}function am(e){let r=new Map;for(let t of e){let n=t.getKeys();for(let i of n)r.set(i,t)}return r}function _a(e,r){return e.filter(t=>r.get(t)?.has?.(t)??!0)}function Fr(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}function Mr(e,r){return{batch:e,transaction:r?.kind==="batch"?{isolationLevel:r.options.isolationLevel}:void 0}}function Na(e){if(e===void 0)return"";let r=_r(e);return new Ar(0,{colors:Cn}).write(r).toString()}var lm="P2037";function $r({error:e,user_facing_error:r},t,n){return r.error_code?new z(um(r,n),{code:r.error_code,clientVersion:t,meta:r.meta,batchRequestIdx:r.batch_request_idx}):new V(e,{clientVersion:t,batchRequestIdx:r.batch_request_idx})}function um(e,r){let t=e.message;return(r==="postgresql"||r==="postgres"||r==="mysql")&&e.error_code===lm&&(t+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),t}var vt="";function La(e){var r=e.split(` +`);return r.reduce(function(t,n){var i=dm(n)||fm(n)||ym(n)||xm(n)||Em(n);return i&&t.push(i),t},[])}var cm=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,pm=/\((\S*)(?::(\d+))(?::(\d+))\)/;function dm(e){var r=cm.exec(e);if(!r)return null;var t=r[2]&&r[2].indexOf("native")===0,n=r[2]&&r[2].indexOf("eval")===0,i=pm.exec(r[2]);return n&&i!=null&&(r[2]=i[1],r[3]=i[2],r[4]=i[3]),{file:t?null:r[2],methodName:r[1]||vt,arguments:t?[r[2]]:[],lineNumber:r[3]?+r[3]:null,column:r[4]?+r[4]:null}}var mm=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function fm(e){var r=mm.exec(e);return r?{file:r[2],methodName:r[1]||vt,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}:null}var gm=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,hm=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function ym(e){var r=gm.exec(e);if(!r)return null;var t=r[3]&&r[3].indexOf(" > eval")>-1,n=hm.exec(r[3]);return t&&n!=null&&(r[3]=n[1],r[4]=n[2],r[5]=null),{file:r[3],methodName:r[1]||vt,arguments:r[2]?r[2].split(","):[],lineNumber:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}var bm=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function Em(e){var r=bm.exec(e);return r?{file:r[3],methodName:r[1]||vt,arguments:[],lineNumber:+r[4],column:r[5]?+r[5]:null}:null}var wm=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function xm(e){var r=wm.exec(e);return r?{file:r[2],methodName:r[1]||vt,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}:null}var oo=class{getLocation(){return null}},so=class{_error;constructor(){this._error=new Error}getLocation(){let r=this._error.stack;if(!r)return null;let n=La(r).find(i=>{if(!i.file)return!1;let o=Li(i.file);return o!==""&&!o.includes("@prisma")&&!o.includes("/packages/client/src/runtime/")&&!o.endsWith("/runtime/binary.js")&&!o.endsWith("/runtime/library.js")&&!o.endsWith("/runtime/edge.js")&&!o.endsWith("/runtime/edge-esm.js")&&!o.startsWith("internal/")&&!i.methodName.includes("new ")&&!i.methodName.includes("getCallSite")&&!i.methodName.includes("Proxy.")&&i.methodName.split(".").length<4});return!n||!n.file?null:{fileName:n.file,lineNumber:n.lineNumber,columnNumber:n.column}}};function Ze(e){return e==="minimal"?typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new oo:new so}var Fa={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function qr(e={}){let r=Pm(e);return Object.entries(r).reduce((n,[i,o])=>(Fa[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function Pm(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Un(e={}){return r=>(typeof e._count=="boolean"&&(r._count=r._count._all),r)}function Ma(e,r){let t=Un(e);return r({action:"aggregate",unpacker:t,argsMapper:qr})(e)}function Tm(e={}){let{select:r,...t}=e;return typeof r=="object"?qr({...t,_count:r}):qr({...t,_count:{_all:!0}})}function Sm(e={}){return typeof e.select=="object"?r=>Un(e)(r)._count:r=>Un(e)(r)._count._all}function $a(e,r){return r({action:"count",unpacker:Sm(e),argsMapper:Tm})(e)}function Rm(e={}){let r=qr(e);if(Array.isArray(r.by))for(let t of r.by)typeof t=="string"&&(r.select[t]=!0);else typeof r.by=="string"&&(r.select[r.by]=!0);return r}function Am(e={}){return r=>(typeof e?._count=="boolean"&&r.forEach(t=>{t._count=t._count._all}),r)}function qa(e,r){return r({action:"groupBy",unpacker:Am(e),argsMapper:Rm})(e)}function Va(e,r,t){if(r==="aggregate")return n=>Ma(n,t);if(r==="count")return n=>$a(n,t);if(r==="groupBy")return n=>qa(n,t)}function ja(e,r){let t=r.fields.filter(i=>!i.relationName),n=_s(t,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new mt(e,o,s.type,s.isList,s.kind==="enum")},...Bn(Object.keys(n))})}var Ba=e=>Array.isArray(e)?e:e.split("."),ao=(e,r)=>Ba(r).reduce((t,n)=>t&&t[n],e),Ua=(e,r,t)=>Ba(r).reduceRight((n,i,o,s)=>Object.assign({},ao(e,s.slice(0,o)),{[i]:n}),t);function Cm(e,r){return e===void 0||r===void 0?[]:[...r,"select",e]}function Im(e,r,t){return r===void 0?e??{}:Ua(r,t,e||!0)}function lo(e,r,t,n,i,o){let a=e._runtimeDataModel.models[r].fields.reduce((l,u)=>({...l,[u.name]:u}),{});return l=>{let u=Ze(e._errorFormat),c=Cm(n,i),p=Im(l,o,c),d=t({dataPath:c,callsite:u})(p),f=Dm(e,r);return new Proxy(d,{get(h,g){if(!f.includes(g))return h[g];let T=[a[g].type,t,g],S=[c,p];return lo(e,...T,...S)},...Bn([...f,...Object.getOwnPropertyNames(d)])})}}function Dm(e,r){return e._runtimeDataModel.models[r].fields.filter(t=>t.kind==="object").map(t=>t.name)}var Om=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],km=["aggregate","count","groupBy"];function uo(e,r){let t=e._extensions.getAllModelExtensions(r)??{},n=[_m(e,r),Lm(e,r),xt(t),re("name",()=>r),re("$name",()=>r),re("$parent",()=>e._appliedParent)];return he({},n)}function _m(e,r){let t=Te(r),n=Object.keys(Rr).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let u=Ze(e._errorFormat);return e._createPrismaPromise(c=>{let p={args:l,dataPath:[],action:o,model:r,clientMethod:`${t}.${i}`,jsModelName:t,transaction:c,callsite:u};return e._request({...p,...a})},{action:o,args:l,model:r})};return Om.includes(o)?lo(e,r,s):Nm(i)?Va(e,i,s):s({})}}}function Nm(e){return km.includes(e)}function Lm(e,r){return lr(re("fields",()=>{let t=e._runtimeDataModel.models[r];return ja(r,t)}))}function Ga(e){return e.replace(/^./,r=>r.toUpperCase())}var co=Symbol();function Pt(e){let r=[Fm(e),Mm(e),re(co,()=>e),re("$parent",()=>e._appliedParent)],t=e._extensions.getAllClientExtensions();return t&&r.push(xt(t)),he(e,r)}function Fm(e){let r=Object.getPrototypeOf(e._originalClient),t=[...new Set(Object.getOwnPropertyNames(r))];return{getKeys(){return t},getPropertyValue(n){return e[n]}}}function Mm(e){let r=Object.keys(e._runtimeDataModel.models),t=r.map(Te),n=[...new Set(r.concat(t))];return lr({getKeys(){return n},getPropertyValue(i){let o=Ga(i);if(e._runtimeDataModel.models[o]!==void 0)return uo(e,o);if(e._runtimeDataModel.models[i]!==void 0)return uo(e,i)},getPropertyDescriptor(i){if(!t.includes(i))return{enumerable:!1}}})}function Qa(e){return e[co]?e[co]:e}function Wa(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let t=e.client.__AccelerateEngine;this._originalClient._engine=new t(this._originalClient._accelerateEngineConfig)}let r=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$on:{value:void 0}});return Pt(r)}function Ja({result:e,modelName:r,select:t,omit:n,extensions:i}){let o=i.getAllComputedFields(r);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let u=l.needs.filter(c=>n[c]);u.length>0&&a.push(Fr(u))}else if(t){if(!t[l.name])continue;let u=l.needs.filter(c=>!t[c]);u.length>0&&a.push(Fr(u))}$m(e,l.needs)&&s.push(qm(l,he(e,s)))}return s.length>0||a.length>0?he(e,[...s,...a]):e}function $m(e,r){return r.every(t=>Vi(e,t))}function qm(e,r){return lr(re(e.name,()=>e.compute(r)))}function Gn({visitor:e,result:r,args:t,runtimeDataModel:n,modelName:i}){if(Array.isArray(r)){for(let s=0;sc.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let u=typeof s=="object"?s:{};r[o]=Gn({visitor:i,result:r[o],args:u,modelName:l.type,runtimeDataModel:n})}}function Ha({result:e,modelName:r,args:t,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[r]?e:Gn({result:e,args:t??{},modelName:r,runtimeDataModel:i,visitor:(a,l,u)=>{let c=Te(l);return Ja({result:a,modelName:c,select:u.select,omit:u.select?void 0:{...o?.[c],...u.omit},extensions:n})}})}var Vm=["$connect","$disconnect","$on","$transaction","$extends"],Ya=Vm;function za(e){if(e instanceof ie)return jm(e);if(Vn(e))return Bm(e);if(Array.isArray(e)){let t=[e[0]];for(let n=1;n{let o=r.customDataProxyFetch;return"transaction"in r&&i!==void 0&&(r.transaction?.kind==="batch"&&r.transaction.lock.then(),r.transaction=i),n===t.length?e._executeRequest(r):t[n]({model:r.model,operation:r.model?r.action:r.clientMethod,args:za(r.args??{}),__internalParams:r,query:(s,a=r)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=nl(o,l),a.args=s,Xa(e,a,t,n+1)}})})}function el(e,r){let{jsModelName:t,action:n,clientMethod:i}=r,o=t?n:i;if(e._extensions.isEmpty())return e._executeRequest(r);let s=e._extensions.getAllQueryCallbacks(t??"$none",o);return Xa(e,r,s)}function rl(e){return r=>{let t={requests:r},n=r[0].extensions.getAllBatchQueryCallbacks();return n.length?tl(t,n,0,e):e(t)}}function tl(e,r,t,n){if(t===r.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return r[t]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=nl(i,l),tl(a,r,t+1,n)}})}var Za=e=>e;function nl(e=Za,r=Za){return t=>e(r(t))}var il=N("prisma:client"),ol={Vercel:"vercel","Netlify CI":"netlify"};function sl({postinstall:e,ciName:r,clientVersion:t,generator:n}){if(il("checkPlatformCaching:postinstall",e),il("checkPlatformCaching:ciName",r),e===!0&&!(n?.output&&typeof(n.output.fromEnvVar??n.output.value)=="string")&&r&&r in ol){let i=`Prisma has detected that this project was built on ${r}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${ol[r]}-build`;throw console.error(i),new P(i,t)}}function al(e,r){return e?e.datasources?e.datasources:e.datasourceUrl?{[r[0]]:{url:e.datasourceUrl}}:{}:{}}var dl=O(require("node:fs")),St=O(require("node:path"));function Qn(e){let{runtimeBinaryTarget:r}=e;return`Add "${r}" to \`binaryTargets\` in the "schema.prisma" file and run \`prisma generate\` after saving it: + +${Um(e)}`}function Um(e){let{generator:r,generatorBinaryTargets:t,runtimeBinaryTarget:n}=e,i={fromEnvVar:null,value:n},o=[...t,i];return ki({...r,binaryTargets:o})}function Xe(e){let{runtimeBinaryTarget:r}=e;return`Prisma Client could not locate the Query Engine for runtime "${r}".`}function er(e){let{searchedLocations:r}=e;return`The following locations have been searched: +${[...new Set(r)].map(i=>` ${i}`).join(` +`)}`}function ll(e){let{runtimeBinaryTarget:r}=e;return`${Xe(e)} + +This happened because \`binaryTargets\` have been pinned, but the actual deployment also required "${r}". +${Qn(e)} + +${er(e)}`}function Wn(e){return`We would appreciate if you could take the time to share some information with us. +Please help us by answering a few questions: https://pris.ly/${e}`}function Jn(e){let{errorStack:r}=e;return r?.match(/\/\.next|\/next@|\/next\//)?` + +We detected that you are using Next.js, learn how to fix this: https://pris.ly/d/engine-not-found-nextjs.`:""}function ul(e){let{queryEngineName:r}=e;return`${Xe(e)}${Jn(e)} + +This is likely caused by a bundler that has not copied "${r}" next to the resulting bundle. +Ensure that "${r}" has been copied next to the bundle or in "${e.expectedLocation}". + +${Wn("engine-not-found-bundler-investigation")} + +${er(e)}`}function cl(e){let{runtimeBinaryTarget:r,generatorBinaryTargets:t}=e,n=t.find(i=>i.native);return`${Xe(e)} + +This happened because Prisma Client was generated for "${n?.value??"unknown"}", but the actual deployment required "${r}". +${Qn(e)} + +${er(e)}`}function pl(e){let{queryEngineName:r}=e;return`${Xe(e)}${Jn(e)} + +This is likely caused by tooling that has not copied "${r}" to the deployment folder. +Ensure that you ran \`prisma generate\` and that "${r}" has been copied to "${e.expectedLocation}". + +${Wn("engine-not-found-tooling-investigation")} + +${er(e)}`}var Gm=N("prisma:client:engines:resolveEnginePath"),Qm=()=>new RegExp("runtime[\\\\/]library\\.m?js$");async function ml(e,r){let t={binary:process.env.PRISMA_QUERY_ENGINE_BINARY,library:process.env.PRISMA_QUERY_ENGINE_LIBRARY}[e]??r.prismaPath;if(t!==void 0)return t;let{enginePath:n,searchedLocations:i}=await Wm(e,r);if(Gm("enginePath",n),n!==void 0&&e==="binary"&&Ri(n),n!==void 0)return r.prismaPath=n;let o=await ir(),s=r.generator?.binaryTargets??[],a=s.some(d=>d.native),l=!s.some(d=>d.value===o),u=__filename.match(Qm())===null,c={searchedLocations:i,generatorBinaryTargets:s,generator:r.generator,runtimeBinaryTarget:o,queryEngineName:fl(e,o),expectedLocation:St.default.relative(process.cwd(),r.dirname),errorStack:new Error().stack},p;throw a&&l?p=cl(c):l?p=ll(c):u?p=ul(c):p=pl(c),new P(p,r.clientVersion)}async function Wm(e,r){let t=await ir(),n=[],i=[r.dirname,St.default.resolve(__dirname,".."),r.generator?.output?.value??__dirname,St.default.resolve(__dirname,"../../../.prisma/client"),"/tmp/prisma-engines",r.cwd];__filename.includes("resolveEnginePath")&&i.push(ms());for(let o of i){let s=fl(e,t),a=St.default.join(o,s);if(n.push(o),dl.default.existsSync(a))return{enginePath:a,searchedLocations:n}}return{enginePath:void 0,searchedLocations:n}}function fl(e,r){return e==="library"?Gt(r,"fs"):`query-engine-${r}${r==="windows"?".exe":""}`}function gl(e){return e?e.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,r=>`${r[0]}5`):""}function hl(e){return e.split(` +`).map(r=>r.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/,"").replace(/\+\d+\s*ms$/,"")).join(` +`)}var yl=O(Os());function bl({title:e,user:r="prisma",repo:t="prisma",template:n="bug_report.yml",body:i}){return(0,yl.default)({user:r,repo:t,template:n,title:e,body:i})}function El({version:e,binaryTarget:r,title:t,description:n,engineVersion:i,database:o,query:s}){let a=Bo(6e3-(s?.length??0)),l=hl(wr(a)),u=n?`# Description +\`\`\` +${n} +\`\`\``:"",c=wr(`Hi Prisma Team! My Prisma Client just crashed. This is the report: +## Versions + +| Name | Version | +|-----------------|--------------------| +| Node | ${process.version?.padEnd(19)}| +| OS | ${r?.padEnd(19)}| +| Prisma Client | ${e?.padEnd(19)}| +| Query Engine | ${i?.padEnd(19)}| +| Database | ${o?.padEnd(19)}| + +${u} + +## Logs +\`\`\` +${l} +\`\`\` + +## Client Snippet +\`\`\`ts +// PLEASE FILL YOUR CODE SNIPPET HERE +\`\`\` + +## Schema +\`\`\`prisma +// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE +\`\`\` + +## Prisma Engine Query +\`\`\` +${s?gl(s):""} +\`\`\` +`),p=bl({title:t,body:c});return`${t} + +This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic. + +${Y(p)} + +If you want the Prisma team to look into it, please open the link above \u{1F64F} +To increase the chance of success, please post your schema and a snippet of +how you used Prisma Client in the issue. +`}function wl(e,r){throw new Error(r)}function Jm(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function Km(e,r){let t={};for(let n of Object.keys(e))t[n]=r(e[n],n);return t}function Vr(e){return e===null?e:Array.isArray(e)?e.map(Vr):typeof e=="object"?Jm(e)?Hm(e):e.constructor!==null&&e.constructor.name!=="Object"?e:Km(e,Vr):e}function Hm({$type:e,value:r}){switch(e){case"BigInt":return BigInt(r);case"Bytes":{let{buffer:t,byteOffset:n,byteLength:i}=Buffer.from(r,"base64");return new Uint8Array(t,n,i)}case"DateTime":return new Date(r);case"Decimal":return new Le(r);case"Json":return JSON.parse(r);default:wl(r,"Unknown tagged value")}}var xl="6.19.2";var zm=()=>globalThis.process?.release?.name==="node",Zm=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Xm=()=>!!globalThis.Deno,ef=()=>typeof globalThis.Netlify=="object",rf=()=>typeof globalThis.EdgeRuntime=="object",tf=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function nf(){return[[ef,"netlify"],[rf,"edge-light"],[tf,"workerd"],[Xm,"deno"],[Zm,"bun"],[zm,"node"]].flatMap(t=>t[0]()?[t[1]]:[]).at(0)??""}var of={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Kn(){let e=nf();return{id:e,prettyName:of[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}function jr({inlineDatasources:e,overrideDatasources:r,env:t,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=r[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=t[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new P(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new P("error: Missing URL environment variable, value, or override.",n);return i}var Hn=class extends Error{clientVersion;cause;constructor(r,t){super(r),this.clientVersion=t.clientVersion,this.cause=t.cause}get[Symbol.toStringTag](){return this.name}};var oe=class extends Hn{isRetryable;constructor(r,t){super(r,t),this.isRetryable=t.isRetryable??!0}};function R(e,r){return{...e,isRetryable:r}}var ur=class extends oe{name="InvalidDatasourceError";code="P6001";constructor(r,t){super(r,R(t,!1))}};x(ur,"InvalidDatasourceError");function vl(e){let r={clientVersion:e.clientVersion},t=Object.keys(e.inlineDatasources)[0],n=jr({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,clientVersion:e.clientVersion,env:{...e.env,...typeof process<"u"?process.env:{}}}),i;try{i=new URL(n)}catch{throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\``,r)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==sn)throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,r);let a=s.get("api_key");if(a===null||a.length<1)throw new ur(`Error validating datasource \`${t}\`: the URL must contain a valid API key`,r);let l=Ii(i)?"http:":"https:";process.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR&&i.searchParams.has("use_http")&&(l="http:");let u=new URL(i.href.replace(o,l));return{apiKey:a,url:u}}var Pl=O(on()),Yn=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:r,tracingHelper:t,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=r,this.tracingHelper=t,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:r,transactionId:t}={}){let n={Accept:"application/json",Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json","Prisma-Engine-Hash":this.engineHash,"Prisma-Engine-Version":Pl.enginesVersion};this.tracingHelper.isEnabled()&&(n.traceparent=r??this.tracingHelper.getTraceParent()),t&&(n["X-Transaction-Id"]=t);let i=this.#e();return i.length>0&&(n["X-Capture-Telemetry"]=i.join(", ")),n}#e(){let r=[];return this.tracingHelper.isEnabled()&&r.push("tracing"),this.logLevel&&r.push(this.logLevel),this.logQueries&&r.push("query"),r}};function sf(e){return e[0]*1e3+e[1]/1e6}function po(e){return new Date(sf(e))}var Br=class extends oe{name="ForcedRetryError";code="P5001";constructor(r){super("This request must be retried",R(r,!0))}};x(Br,"ForcedRetryError");var cr=class extends oe{name="NotImplementedYetError";code="P5004";constructor(r,t){super(r,R(t,!1))}};x(cr,"NotImplementedYetError");var $=class extends oe{response;constructor(r,t){super(r,t),this.response=t.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var pr=class extends ${name="SchemaMissingError";code="P5005";constructor(r){super("Schema needs to be uploaded",R(r,!0))}};x(pr,"SchemaMissingError");var mo="This request could not be understood by the server",Rt=class extends ${name="BadRequestError";code="P5000";constructor(r,t,n){super(t||mo,R(r,!1)),n&&(this.code=n)}};x(Rt,"BadRequestError");var At=class extends ${name="HealthcheckTimeoutError";code="P5013";logs;constructor(r,t){super("Engine not started: healthcheck timeout",R(r,!0)),this.logs=t}};x(At,"HealthcheckTimeoutError");var Ct=class extends ${name="EngineStartupError";code="P5014";logs;constructor(r,t,n){super(t,R(r,!0)),this.logs=n}};x(Ct,"EngineStartupError");var It=class extends ${name="EngineVersionNotSupportedError";code="P5012";constructor(r){super("Engine version is not supported",R(r,!1))}};x(It,"EngineVersionNotSupportedError");var fo="Request timed out",Dt=class extends ${name="GatewayTimeoutError";code="P5009";constructor(r,t=fo){super(t,R(r,!1))}};x(Dt,"GatewayTimeoutError");var af="Interactive transaction error",Ot=class extends ${name="InteractiveTransactionError";code="P5015";constructor(r,t=af){super(t,R(r,!1))}};x(Ot,"InteractiveTransactionError");var lf="Request parameters are invalid",kt=class extends ${name="InvalidRequestError";code="P5011";constructor(r,t=lf){super(t,R(r,!1))}};x(kt,"InvalidRequestError");var go="Requested resource does not exist",_t=class extends ${name="NotFoundError";code="P5003";constructor(r,t=go){super(t,R(r,!1))}};x(_t,"NotFoundError");var ho="Unknown server error",Ur=class extends ${name="ServerError";code="P5006";logs;constructor(r,t,n){super(t||ho,R(r,!0)),this.logs=n}};x(Ur,"ServerError");var yo="Unauthorized, check your connection string",Nt=class extends ${name="UnauthorizedError";code="P5007";constructor(r,t=yo){super(t,R(r,!1))}};x(Nt,"UnauthorizedError");var bo="Usage exceeded, retry again later",Lt=class extends ${name="UsageExceededError";code="P5008";constructor(r,t=bo){super(t,R(r,!0))}};x(Lt,"UsageExceededError");async function uf(e){let r;try{r=await e.text()}catch{return{type:"EmptyError"}}try{let t=JSON.parse(r);if(typeof t=="string")switch(t){case"InternalDataProxyError":return{type:"DataProxyError",body:t};default:return{type:"UnknownTextError",body:t}}if(typeof t=="object"&&t!==null){if("is_panic"in t&&"message"in t&&"error_code"in t)return{type:"QueryEngineError",body:t};if("EngineNotStarted"in t||"InteractiveTransactionMisrouted"in t||"InvalidRequestError"in t){let n=Object.values(t)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:t}:{type:"DataProxyError",body:t}}}return{type:"UnknownJsonError",body:t}}catch{return r===""?{type:"EmptyError"}:{type:"UnknownTextError",body:r}}}async function Ft(e,r){if(e.ok)return;let t={clientVersion:r,response:e},n=await uf(e);if(n.type==="QueryEngineError")throw new z(n.body.message,{code:n.body.error_code,clientVersion:r});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new Ur(t,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new pr(t);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new It(t);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Ct(t,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new P(i,r,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new At(t,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Ot(t,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new kt(t,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new Nt(t,Gr(yo,n));if(e.status===404)return new _t(t,Gr(go,n));if(e.status===429)throw new Lt(t,Gr(bo,n));if(e.status===504)throw new Dt(t,Gr(fo,n));if(e.status>=500)throw new Ur(t,Gr(ho,n));if(e.status>=400)throw new Rt(t,Gr(mo,n))}function Gr(e,r){return r.type==="EmptyError"?e:`${e}: ${JSON.stringify(r)}`}function Tl(e){let r=Math.pow(2,e)*50,t=Math.ceil(Math.random()*r)-Math.ceil(r/2),n=r+t;return new Promise(i=>setTimeout(()=>i(n),n))}var $e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Sl(e){let r=new TextEncoder().encode(e),t="",n=r.byteLength,i=n%3,o=n-i,s,a,l,u,c;for(let p=0;p>18,a=(c&258048)>>12,l=(c&4032)>>6,u=c&63,t+=$e[s]+$e[a]+$e[l]+$e[u];return i==1?(c=r[o],s=(c&252)>>2,a=(c&3)<<4,t+=$e[s]+$e[a]+"=="):i==2&&(c=r[o]<<8|r[o+1],s=(c&64512)>>10,a=(c&1008)>>4,l=(c&15)<<2,t+=$e[s]+$e[a]+$e[l]+"="),t}function Rl(e){if(!!e.generator?.previewFeatures.some(t=>t.toLowerCase().includes("metrics")))throw new P("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}var Al={"@prisma/debug":"workspace:*","@prisma/engines-version":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};var Mt=class extends oe{name="RequestError";code="P5010";constructor(r,t){super(`Cannot fetch data from service: +${r}`,R(t,!0))}};x(Mt,"RequestError");async function dr(e,r,t=n=>n){let{clientVersion:n,...i}=r,o=t(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new Mt(a,{clientVersion:n,cause:s})}}var pf=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Cl=N("prisma:client:dataproxyEngine");async function df(e,r){let t=Al["@prisma/engines-version"],n=r.clientVersion??"unknown";if(process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&pf.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=t.split("-")??[],[a,l,u]=s.split("."),c=mf(`<=${a}.${l}.${u}`),p=await dr(c,{clientVersion:n});if(!p.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${p.status} ${p.statusText}, response body: ${await p.text()||""}`);let d=await p.text();Cl("length of body fetched from unpkg.com",d.length);let f;try{f=JSON.parse(d)}catch(h){throw console.error("JSON.parse error: body fetched from unpkg.com: ",d),h}return f.version}throw new cr("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Il(e,r){let t=await df(e,r);return Cl("version",t),t}function mf(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Dl=3,$t=N("prisma:client:dataproxyEngine"),qt=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(r){Rl(r),this.config=r,this.env=r.env,this.inlineSchema=Sl(r.inlineSchema),this.inlineDatasources=r.inlineDatasources,this.inlineSchemaHash=r.inlineSchemaHash,this.clientVersion=r.clientVersion,this.engineHash=r.engineVersion,this.logEmitter=r.logEmitter,this.tracingHelper=r.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:r,url:t}=this.getURLAndAPIKey();this.host=t.host,this.protocol=t.protocol,this.headerBuilder=new Yn({apiKey:r,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel??"error",logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await Il(this.host,this.config),$t("host",this.host),$t("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(r){r?.logs?.length&&r.logs.forEach(t=>{switch(t.level){case"debug":case"trace":$t(t);break;case"error":case"warn":case"info":{this.logEmitter.emit(t.level,{timestamp:po(t.timestamp),message:t.attributes.message??"",target:t.target??"BinaryEngine"});break}case"query":{this.logEmitter.emit("query",{query:t.attributes.query??"",timestamp:po(t.timestamp),duration:t.attributes.duration_ms??0,params:t.attributes.params??"",target:t.target??"BinaryEngine"});break}default:t.level}}),r?.traces?.length&&this.tracingHelper.dispatchEngineSpans(r.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(r){return await this.start(),`${this.protocol}//${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${r}`}async uploadSchema(){let r={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(r,async()=>{let t=await dr(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});t.ok||$t("schema response status",t.status);let n=await Ft(t,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(r,{traceparent:t,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:r,traceparent:t,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(r,{traceparent:t,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Mr(r,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:t})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:r,traceparent:t,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await dr(s,{method:"POST",headers:this.headerBuilder.build({traceparent:t,transactionId:i?.id}),body:JSON.stringify(r),clientVersion:this.clientVersion},n);a.ok||$t("graphql response status",a.status),await this.handleError(await Ft(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(r,t,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[r]} transaction`,callback:async({logHttpCall:o})=>{if(r==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await dr(a,{method:"POST",headers:this.headerBuilder.build({traceparent:t.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Ft(l,this.clientVersion));let u=await l.json(),{extensions:c}=u;c&&this.propagateResponseExtensions(c);let p=u.id,d=u["data-proxy"].endpoint;return{id:p,payload:{endpoint:d}}}else{let s=`${n.payload.endpoint}/${r}`;o(s);let a=await dr(s,{method:"POST",headers:this.headerBuilder.build({traceparent:t.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Ft(a,this.clientVersion));let l=await a.json(),{extensions:u}=l;u&&this.propagateResponseExtensions(u);return}}})}getURLAndAPIKey(){return vl({clientVersion:this.clientVersion,env:this.env,inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources})}metrics(){throw new cr("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(r){for(let t=0;;t++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${t})`,timestamp:new Date,target:""})};try{return await r.callback({logHttpCall:n})}catch(i){if(!(i instanceof oe)||!i.isRetryable)throw i;if(t>=Dl)throw i instanceof Br?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${t+1}/${Dl} failed for ${r.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Tl(t);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(r){if(r instanceof pr)throw await this.uploadSchema(),new Br({clientVersion:this.clientVersion,cause:r});if(r)throw r}convertProtocolErrorsToClientError(r){return r.length===1?$r(r[0],this.config.clientVersion,this.config.activeProvider):new V(JSON.stringify(r),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function Ol(e){if(e?.kind==="itx")return e.options.id}var wo=O(require("node:os")),kl=O(require("node:path"));var Eo=Symbol("PrismaLibraryEngineCache");function ff(){let e=globalThis;return e[Eo]===void 0&&(e[Eo]={}),e[Eo]}function gf(e){let r=ff();if(r[e]!==void 0)return r[e];let t=kl.default.toNamespacedPath(e),n={exports:{}},i=0;return process.platform!=="win32"&&(i=wo.default.constants.dlopen.RTLD_LAZY|wo.default.constants.dlopen.RTLD_DEEPBIND),process.dlopen(n,t,i),r[e]=n.exports,n.exports}var _l={async loadLibrary(e){let r=await fi(),t=await ml("library",e);try{return e.tracingHelper.runInChildSpan({name:"loadLibrary",internal:!0},()=>gf(t))}catch(n){let i=Ai({e:n,platformInfo:r,id:t});throw new P(i,e.clientVersion)}}};var xo,Nl={async loadLibrary(e){let{clientVersion:r,adapter:t,engineWasm:n}=e;if(t===void 0)throw new P(`The \`adapter\` option for \`PrismaClient\` is required in this context (${Kn().prettyName})`,r);if(n===void 0)throw new P("WASM engine was unexpectedly `undefined`",r);xo===void 0&&(xo=(async()=>{let o=await n.getRuntime(),s=await n.getQueryEngineWasmModule();if(s==null)throw new P("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",r);let a={"./query_engine_bg.js":o},l=new WebAssembly.Instance(s,a),u=l.exports.__wbindgen_start;return o.__wbg_set_wasm(l.exports),u(),o.QueryEngine})());let i=await xo;return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:i}}};var hf="P2036",Re=N("prisma:client:libraryEngine");function yf(e){return e.item_type==="query"&&"query"in e}function bf(e){return"level"in e?e.level==="error"&&e.message==="PANIC":!1}var Ll=[...li,"native"],Ef=0xffffffffffffffffn,vo=1n;function wf(){let e=vo++;return vo>Ef&&(vo=1n),e}var Qr=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(r,t){this.libraryLoader=t??_l,r.engineWasm!==void 0&&(this.libraryLoader=t??Nl),this.config=r,this.libraryStarted=!1,this.logQueries=r.logQueries??!1,this.logLevel=r.logLevel??"error",this.logEmitter=r.logEmitter,this.datamodel=r.inlineSchema,this.tracingHelper=r.tracingHelper,r.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(r.overrideDatasources)[0],i=r.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(r){return{applyPendingMigrations:r.applyPendingMigrations?.bind(r),commitTransaction:this.withRequestId(r.commitTransaction.bind(r)),connect:this.withRequestId(r.connect.bind(r)),disconnect:this.withRequestId(r.disconnect.bind(r)),metrics:r.metrics?.bind(r),query:this.withRequestId(r.query.bind(r)),rollbackTransaction:this.withRequestId(r.rollbackTransaction.bind(r)),sdlSchema:r.sdlSchema?.bind(r),startTransaction:this.withRequestId(r.startTransaction.bind(r)),trace:r.trace.bind(r),free:r.free?.bind(r)}}withRequestId(r){return async(...t)=>{let n=wf().toString();try{return await r(...t,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){throw new Error("Cannot call this method from this type of engine instance")}async transaction(r,t,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(t),s;if(r==="start"){let l=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(l,o)}else r==="commit"?s=await this.engine?.commitTransaction(n.id,o):r==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(xf(a)){let l=this.getExternalAdapterError(a,i?.errorRegistry);throw l?l.error:new z(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new V(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(Re("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;ai(),this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){{if(this.binaryTarget)return this.binaryTarget;let r=await this.tracingHelper.runInChildSpan("detect_platform",()=>ir());if(!Ll.includes(r))throw new P(`Unknown ${ce("PRISMA_QUERY_ENGINE_LIBRARY")} ${ce(W(r))}. Possible binaryTargets: ${qe(Ll.join(", "))} or a path to the query engine library. +You may have to run ${qe("prisma generate")} for your changes to take effect.`,this.config.clientVersion);return r}}parseEngineResponse(r){if(!r)throw new V("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(r)}catch{throw new V("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let r=new WeakRef(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(tn));let t=await this.adapterPromise;t&&Re("Using driver adapter: %O",t),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:process.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{r.deref()?.logger(n)},t))}catch(r){let t=r,n=this.parseInitError(t.message);throw typeof n=="string"?t:new P(n.message,this.config.clientVersion,n.error_code)}}}logger(r){let t=this.parseEngineResponse(r);t&&(t.level=t?.level.toLowerCase()??"unknown",yf(t)?this.logEmitter.emit("query",{timestamp:new Date,query:t.query,params:t.params,duration:Number(t.duration_ms),target:t.module_path}):bf(t)?this.loggerRustPanic=new ae(Po(this,`${t.message}: ${t.reason} in ${t.file}:${t.line}:${t.column}`),this.config.clientVersion):this.logEmitter.emit(t.level,{timestamp:new Date,message:t.message,target:t.module_path}))}parseInitError(r){try{return JSON.parse(r)}catch{}return r}parseRequestError(r){try{return JSON.parse(r)}catch{}return r}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(this.libraryInstantiationPromise||(this.libraryInstantiationPromise=this.instantiateLibrary()),await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return Re(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let r=async()=>{Re("library starting");try{let t={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(t)),this.libraryStarted=!0,this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(tn)),await this.adapterPromise,Re("library started")}catch(t){let n=this.parseInitError(t.message);throw typeof n=="string"?t:new P(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",r),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return Re("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted){await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0;return}let r=async()=>{await new Promise(n=>setImmediate(n)),Re("library stopping");let t={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(t)),this.engine?.free&&this.engine.free(),this.engine=void 0,this.libraryStarted=!1,this.libraryStoppingPromise=void 0,this.libraryInstantiationPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,Re("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",r),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(r){return this.library?.debugPanic(r)}async request(r,{traceparent:t,interactiveTransaction:n}){Re(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:t}),o=JSON.stringify(r);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new V(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof P)throw s;if(s.code==="GenericFailure"&&s.message?.startsWith("PANIC:"))throw new ae(Po(this,s.message),this.config.clientVersion);let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new V(`${a.message} +${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(r,{transaction:t,traceparent:n}){Re("requestBatch");let i=Mr(r,t);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine?.query(this.lastQuery,JSON.stringify({traceparent:n}),Ol(t));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new V(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:l,errors:u}=a;if(Array.isArray(l))return l.map(c=>c.errors&&c.errors.length>0?this.loggerRustPanic??this.buildQueryError(c.errors[0],o?.errorRegistry):{data:c});throw u&&u.length===1?new Error(u[0].error):new Error(JSON.stringify(a))}buildQueryError(r,t){if(r.user_facing_error.is_panic)return new ae(Po(this,r.user_facing_error.message),this.config.clientVersion);let n=this.getExternalAdapterError(r.user_facing_error,t);return n?n.error:$r(r,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(r,t){if(r.error_code===hf&&t){let n=r.meta?.id;ln(typeof n=="number","Malformed external JS error received from the engine");let i=t.consumeError(n);return ln(i,"External error with reported id was not registered"),i}}async metrics(r){await this.start();let t=await this.engine.metrics(JSON.stringify(r));return r.format==="prometheus"?t:this.parseEngineResponse(t)}};function xf(e){return typeof e=="object"&&e!==null&&e.error_code!==void 0}function Po(e,r){return El({binaryTarget:e.binaryTarget,title:r,version:e.config.clientVersion,engineVersion:e.versionInfo?.commit,database:e.config.activeProvider,query:e.lastQuery})}function Fl({url:e,adapter:r,copyEngine:t,targetBuildType:n}){let i=[],o=[],s=g=>{i.push({_tag:"warning",value:g})},a=g=>{let I=g.join(` +`);o.push({_tag:"error",value:I})},l=!!e?.startsWith("prisma://"),u=an(e),c=!!r,p=l||u;!c&&t&&p&&n!=="client"&&n!=="wasm-compiler-edge"&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let d=p||!t;c&&(d||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):p?a(["You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.","Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter."]):t||a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let f={accelerate:d,ppg:u,driverAdapters:c};function h(g){return g.length>0}return h(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:f}:{ok:!0,diagnostics:{warnings:i},isUsing:f}}function Ml({copyEngine:e=!0},r){let t;try{t=jr({inlineDatasources:r.inlineDatasources,overrideDatasources:r.overrideDatasources,env:{...r.env,...process.env},clientVersion:r.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=Fl({url:t,adapter:r.adapter,copyEngine:e,targetBuildType:"library"});for(let p of o.warnings)at(...p.value);if(!n){let p=o.errors[0];throw new Z(p.value,{clientVersion:r.clientVersion})}let s=Er(r.generator),a=s==="library",l=s==="binary",u=s==="client",c=(i.accelerate||i.ppg)&&!i.driverAdapters;return i.accelerate?new qt(r):(i.driverAdapters,a?new Qr(r):new Qr(r))}function $l({generator:e}){return e?.previewFeatures??[]}var ql=e=>({command:e});var Vl=e=>e.strings.reduce((r,t,n)=>`${r}@P${n}${t}`);function Wr(e){try{return jl(e,"fast")}catch{return jl(e,"slow")}}function jl(e,r){return JSON.stringify(e.map(t=>Ul(t,r)))}function Ul(e,r){if(Array.isArray(e))return e.map(t=>Ul(t,r));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(vr(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(Fe.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(vf(e))return{prisma__type:"bytes",prisma__value:Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:Buffer.from(t,n,i).toString("base64")}}return typeof e=="object"&&r==="slow"?Gl(e):e}function vf(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Gl(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Bl);let r={};for(let t of Object.keys(e))r[t]=Bl(e[t]);return r}function Bl(e){return typeof e=="bigint"?e.toString():Gl(e)}var Pf=/^(\s*alter\s)/i,Ql=N("prisma:client");function To(e,r,t,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&t.length>0&&Pf.exec(r))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var So=({clientMethod:e,activeProvider:r})=>t=>{let n="",i;if(Vn(t))n=t.sql,i={values:Wr(t.values),__prismaRawParameters__:!0};else if(Array.isArray(t)){let[o,...s]=t;n=o,i={values:Wr(s||[]),__prismaRawParameters__:!0}}else switch(r){case"sqlite":case"mysql":{n=t.sql,i={values:Wr(t.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=t.text,i={values:Wr(t.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Vl(t),i={values:Wr(t.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${r} provider does not support ${e}`)}return i?.values?Ql(`prisma.${e}(${n}, ${i.values})`):Ql(`prisma.${e}(${n})`),{query:n,parameters:i}},Wl={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[r,...t]=e;return new ie(r,t)}},Jl={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};function Ro(e){return function(t,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Kl(t(s)):Kl(t(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Kl(e){return typeof e.then=="function"?e:Promise.resolve(e)}var Tf=xi.split(".")[0],Sf={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,r){return r()}},Ao=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(r){return this.getGlobalTracingHelper().getTraceParent(r)}dispatchEngineSpans(r){return this.getGlobalTracingHelper().dispatchEngineSpans(r)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(r,t){return this.getGlobalTracingHelper().runInChildSpan(r,t)}getGlobalTracingHelper(){let r=globalThis[`V${Tf}_PRISMA_INSTRUMENTATION`],t=globalThis.PRISMA_INSTRUMENTATION;return r?.helper??t?.helper??Sf}};function Hl(){return new Ao}function Yl(e,r=()=>{}){let t,n=new Promise(i=>t=i);return{then(i){return--e===0&&t(r()),i?.(n)}}}function zl(e){return typeof e=="string"?e:e.reduce((r,t)=>{let n=typeof t=="string"?t:t.level;return n==="query"?r:r&&(t==="info"||r==="info")?"info":n},void 0)}function zn(e){return typeof e.batchRequestIdx=="number"}function Zl(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let r=[];return e.modelName&&r.push(e.modelName),e.query.arguments&&r.push(Co(e.query.arguments)),r.push(Co(e.query.selection)),r.join("")}function Co(e){return`(${Object.keys(e).sort().map(t=>{let n=e[t];return typeof n=="object"&&n!==null?`(${t} ${Co(n)})`:t}).join(" ")})`}var Rf={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function Io(e){return Rf[e]}var Zn=class{constructor(r){this.options=r;this.batches={}}batches;tickActive=!1;request(r){let t=this.options.batchBy(r);return t?(this.batches[t]||(this.batches[t]=[],this.tickActive||(this.tickActive=!0,process.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[t].push({request:r,resolve:n,reject:i})})):this.options.singleLoader(r)}dispatchBatches(){for(let r in this.batches){let t=this.batches[r];delete this.batches[r],t.length===1?this.options.singleLoader(t[0].request).then(n=>{n instanceof Error?t[0].reject(n):t[0].resolve(n)}).catch(n=>{t[0].reject(n)}):(t.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(t.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;imr("bigint",t));case"bytes-array":return r.map(t=>mr("bytes",t));case"decimal-array":return r.map(t=>mr("decimal",t));case"datetime-array":return r.map(t=>mr("datetime",t));case"date-array":return r.map(t=>mr("date",t));case"time-array":return r.map(t=>mr("time",t));default:return r}}function Xn(e){let r=[],t=Af(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(p=>p.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),u=n.some(p=>Io(p.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:If(o),containsWrite:u,customDataProxyFetch:i})).map((p,d)=>{if(p instanceof Error)return p;try{return this.mapQueryEngineResult(n[d],p)}catch(f){return f}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?Xl(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:Io(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Zl(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(r){try{return await this.dataloader.request(r)}catch(t){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=r;this.handleAndLogRequestError({error:t,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:r.globalOmit})}}mapQueryEngineResult({dataPath:r,unpacker:t},n){let i=n?.data,o=this.unpack(i,r,t);return process.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(r){try{this.handleRequestError(r)}catch(t){throw this.logEmitter&&this.logEmitter.emit("error",{message:t.message,target:r.clientMethod,timestamp:new Date}),t}}handleRequestError({error:r,clientMethod:t,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Cf(r),Df(r,i))throw r;if(r instanceof z&&Of(r)){let u=eu(r.meta);Nn({args:o,errors:[u],callsite:n,errorFormat:this.client._errorFormat,originalMethod:t,clientVersion:this.client._clientVersion,globalOmit:a})}let l=r.message;if(n&&(l=Tn({callsite:n,originalMethod:t,isPanic:r.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),r.code){let u=s?{modelName:s,...r.meta}:r.meta;throw new z(l,{code:r.code,clientVersion:this.client._clientVersion,meta:u,batchRequestIdx:r.batchRequestIdx})}else{if(r.isPanic)throw new ae(l,this.client._clientVersion);if(r instanceof V)throw new V(l,{clientVersion:this.client._clientVersion,batchRequestIdx:r.batchRequestIdx});if(r instanceof P)throw new P(l,this.client._clientVersion);if(r instanceof ae)throw new ae(l,this.client._clientVersion)}throw r.clientVersion=this.client._clientVersion,r}sanitizeMessage(r){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?wr(r):r}unpack(r,t,n){if(!r||(r.data&&(r=r.data),!r))return r;let i=Object.keys(r)[0],o=Object.values(r)[0],s=t.filter(u=>u!=="select"&&u!=="include"),a=ao(o,s),l=i==="queryRaw"?Xn(a):Vr(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function If(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:Xl(e)};ar(e,"Unknown transaction kind")}}function Xl(e){return{id:e.id,payload:e.payload}}function Df(e,r){return zn(e)&&r?.kind==="batch"&&e.batchRequestIdx!==r.index}function Of(e){return e.code==="P2009"||e.code==="P2012"}function eu(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(eu)};if(Array.isArray(e.selectionPath)){let[,...r]=e.selectionPath;return{...e,selectionPath:r}}return e}var ru=xl;var su=O(Ki());var _=class extends Error{constructor(r){super(r+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};x(_,"PrismaClientConstructorValidationError");var tu=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],nu=["pretty","colorless","minimal"],iu=["info","query","warn","error"],kf={datasources:(e,{datasourceNames:r})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new _(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[t,n]of Object.entries(e)){if(!r.includes(t)){let i=Jr(t,r)||` Available datasources: ${r.join(", ")}`;throw new _(`Unknown datasource ${t} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new _(`Invalid value ${JSON.stringify(e)} for datasource "${t}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new _(`Invalid value ${JSON.stringify(e)} for datasource "${t}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new _(`Invalid value ${JSON.stringify(o)} for datasource "${t}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,r)=>{if(!e&&Er(r.generator)==="client")throw new _('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e!==null){if(e===void 0)throw new _('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(Er(r.generator)==="binary")throw new _('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')}},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new _(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new _(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!nu.includes(e)){let r=Jr(e,nu);throw new _(`Invalid errorFormat ${e} provided to PrismaClient constructor.${r}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new _(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function r(t){if(typeof t=="string"&&!iu.includes(t)){let n=Jr(t,iu);throw new _(`Invalid log level "${t}" provided to PrismaClient constructor.${n}`)}}for(let t of e){r(t);let n={level:r,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=Jr(i,o);throw new _(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(t&&typeof t=="object")for(let[i,o]of Object.entries(t))if(n[i])n[i](o);else throw new _(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let r=e.maxWait;if(r!=null&&r<=0)throw new _(`Invalid value ${r} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let t=e.timeout;if(t!=null&&t<=0)throw new _(`Invalid value ${t} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,r)=>{if(typeof e!="object")throw new _('"omit" option is expected to be an object.');if(e===null)throw new _('"omit" option can not be `null`');let t=[];for(let[n,i]of Object.entries(e)){let o=Nf(n,r.runtimeDataModel);if(!o){t.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(u=>u.name===s);if(!l){t.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){t.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&t.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(t.length>0)throw new _(Lf(e,t))},__internal:e=>{if(!e)return;let r=["debug","engine","configOverride"];if(typeof e!="object")throw new _(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[t]of Object.entries(e))if(!r.includes(t)){let n=Jr(t,r);throw new _(`Invalid property ${JSON.stringify(t)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function au(e,r){for(let[t,n]of Object.entries(e)){if(!tu.includes(t)){let i=Jr(t,tu);throw new _(`Unknown property ${t} provided to PrismaClient constructor.${i}`)}kf[t](n,r)}if(e.datasourceUrl&&e.datasources)throw new _('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function Jr(e,r){if(r.length===0||typeof e!="string")return"";let t=_f(e,r);return t?` Did you mean "${t}"?`:""}function _f(e,r){if(r.length===0)return null;let t=r.map(i=>({value:i,distance:(0,su.default)(e,i)}));t.sort((i,o)=>i.distanceWe(n)===r);if(t)return e[t]}function Lf(e,r){let t=_r(e);for(let o of r)switch(o.kind){case"UnknownModel":t.arguments.getField(o.modelKey)?.markAsError(),t.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":t.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":t.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":t.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=_n(t,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}function lu(e){return e.length===0?Promise.resolve([]):new Promise((r,t)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?t(i):r(n)))},l=u=>{o||(o=!0,t(u))};for(let u=0;u{n[u]=c,a()},c=>{if(!zn(c)){l(c);return}c.batchRequestIdx===u?l(c):(i||(i=c),a())})})}var rr=N("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Ff={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},Mf=Symbol.for("prisma.client.transaction.id"),$f={id:0,nextId(){return++this.id}};function fu(e){class r{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Ro();constructor(n){e=n?.__internal?.configOverride?.(e)??e,sl(e),n&&au(n,e);let i=new du.EventEmitter().on("error",()=>{});this._extensions=Nr.empty(),this._previewFeatures=$l(e),this._clientVersion=e.clientVersion??ru,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Hl();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&ri.default.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&ri.default.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==l)throw new P(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new P("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=!s&&o&&st(o,{conflictCheck:"none"})||e.injectableEdgeEnv?.();try{let l=n??{},u=l.__internal??{},c=u.debug===!0;c&&N.enable("prisma:client");let p=ri.default.resolve(e.dirname,e.relativePath);mu.default.existsSync(p)||(p=e.dirname),rr("dirname",e.dirname),rr("relativePath",e.relativePath),rr("cwd",p);let d=u.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:process.env.NODE_ENV==="production"?this._errorFormat="minimal":process.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:p,dirname:e.dirname,enableDebugLogs:c,allowTriggerPanic:d.allowTriggerPanic,prismaPath:d.binaryPath??void 0,engineEndpoint:d.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&zl(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(f=>typeof f=="string"?f==="query":f.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:al(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:jr,getBatchRequestPayload:Mr,prismaGraphQLToJSError:$r,PrismaClientUnknownRequestError:V,PrismaClientInitializationError:P,PrismaClientKnownRequestError:z,debug:N("prisma:client:accelerateEngine"),engineVersion:cu.version,clientVersion:e.clientVersion}},rr("clientVersion",e.clientVersion),this._engine=Ml(e,this._engineConfig),this._requestHandler=new ei(this,i),l.log)for(let f of l.log){let h=typeof f=="string"?f:f.emit==="stdout"?f.level:null;h&&this.$on(h,g=>{nt.log(`${nt.tags[h]??""}`,g.message||g.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Pt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Uo()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:So({clientMethod:i,activeProvider:a}),callsite:Ze(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=uu(n,i);return To(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new Z("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(To(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new Z(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:ql,callsite:Ze(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:So({clientMethod:i,activeProvider:a}),callsite:Ze(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...uu(n,i));throw new Z("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new Z("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=$f.nextId(),s=Yl(n.length),a=n.map((l,u)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let c=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,p={kind:"batch",id:o,index:u,isolationLevel:c,lock:s};return l.requestTransaction?.(p)??l});return lu(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let u={kind:"itx",...a};l=await n(this._createItxClient(u)),await this._engine.transaction("commit",o,a)}catch(u){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),u}return l}_createItxClient(n){return he(Pt(he(Qa(this),[re("_appliedParent",()=>this._appliedParent._createItxClient(n)),re("_createPrismaPromise",()=>Ro(n)),re(Mf,()=>n.id)])),[Fr(Ya)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Ff,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=async l=>{let{runInTransaction:u,args:c,...p}=l,d={...n,...p};c&&(d.args=i.middlewareArgsToRequestArgs(c)),n.transaction!==void 0&&u===!1&&delete d.transaction;let f=await el(this,d);return d.model?Ha({result:f,modelName:d.model,args:d.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):f};return this._tracingHelper.runInChildSpan(s.operation,()=>new pu.AsyncResource("prisma-client-request").runInAsyncScope(()=>a(o)))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:u,transaction:c,unpacker:p,otelParentCtx:d,customDataProxyFetch:f}){try{n=u?u(n):n;let h={name:"serialize"},g=this._tracingHelper.runInChildSpan(h,()=>$n({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return N.enabled("prisma:client")&&(rr("Prisma Client call:"),rr(`prisma.${i}(${Na(n)})`),rr("Generated request:"),rr(JSON.stringify(g,null,2)+` +`)),c?.kind==="batch"&&await c.lock,this._requestHandler.request({protocolQuery:g,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:c,unpacker:p,otelParentCtx:d,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:f})}catch(h){throw h.clientVersion=this._clientVersion,h}}$metrics=new Lr(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=Wa}return r}function uu(e,r){return qf(e)?[new ie(e,r),Wl]:[e,Jl]}function qf(e){return Array.isArray(e)&&Array.isArray(e.raw)}var Vf=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function gu(e){return new Proxy(e,{get(r,t){if(t in r)return r[t];if(!Vf.has(t))throw new TypeError(`Invalid enum value: ${String(t)}`)}})}function hu(e){st(e,{conflictCheck:"warn"})}0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +/*! Bundled license information: + +decimal.js/decimal.mjs: + (*! + * decimal.js v10.5.0 + * An arbitrary-precision Decimal type for JavaScript. + * https://github.com/MikeMcl/decimal.js + * Copyright (c) 2025 Michael Mclaughlin + * MIT Licence + *) +*/ +//# sourceMappingURL=library.js.map diff --git a/packages/member-prisma-client/runtime/react-native.js b/packages/member-prisma-client/runtime/react-native.js new file mode 100644 index 0000000..78b1a9d --- /dev/null +++ b/packages/member-prisma-client/runtime/react-native.js @@ -0,0 +1,84 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +"use strict";var ha=Object.create;var rr=Object.defineProperty;var ya=Object.getOwnPropertyDescriptor;var wa=Object.getOwnPropertyNames;var ba=Object.getPrototypeOf,xa=Object.prototype.hasOwnProperty;var he=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ve=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Xe=(e,t)=>{for(var r in t)rr(e,r,{get:t[r],enumerable:!0})},ni=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of wa(t))!xa.call(e,i)&&i!==r&&rr(e,i,{get:()=>t[i],enumerable:!(n=ya(t,i))||n.enumerable});return e};var Qe=(e,t,r)=>(r=e!=null?ha(ba(e)):{},ni(t||!e||!e.__esModule?rr(r,"default",{value:e,enumerable:!0}):r,e)),Ea=e=>ni(rr({},"__esModule",{value:!0}),e);var y,E,c=he(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4},{cwd:E}=y});var P,p=he(()=>{"use strict";P=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var x,d=he(()=>{"use strict";x=()=>{};x.prototype=x});var b,f=he(()=>{"use strict";b=class{value;constructor(t){this.value=t}deref(){return this.value}}});var Pi=Ve(nt=>{"use strict";m();c();p();d();f();var li=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pa=li(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=O;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var F=C.indexOf("=");F===-1&&(F=S);var _=F===S?0:4-F%4;return[F,_]}function l(C){var S=a(C),F=S[0],_=S[1];return(F+_)*3/4-_}function u(C,S,F){return(S+F)*3/4-F}function g(C){var S,F=a(C),_=F[0],L=F[1],k=new n(u(C,_,L)),q=0,Y=L>0?_-4:_,U;for(U=0;U>16&255,k[q++]=S>>8&255,k[q++]=S&255;return L===2&&(S=r[C.charCodeAt(U)]<<2|r[C.charCodeAt(U+1)]>>4,k[q++]=S&255),L===1&&(S=r[C.charCodeAt(U)]<<10|r[C.charCodeAt(U+1)]<<4|r[C.charCodeAt(U+2)]>>2,k[q++]=S>>8&255,k[q++]=S&255),k}function h(C){return t[C>>18&63]+t[C>>12&63]+t[C>>6&63]+t[C&63]}function T(C,S,F){for(var _,L=[],k=S;kY?Y:q+k));return _===1?(S=C[F-1],L.push(t[S>>2]+t[S<<4&63]+"==")):_===2&&(S=(C[F-2]<<8)+C[F-1],L.push(t[S>>10]+t[S>>4&63]+t[S<<2&63]+"=")),L.join("")}}),va=li(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,u=(1<>1,h=-7,T=n?o-1:0,O=n?-1:1,C=t[r+T];for(T+=O,s=C&(1<<-h)-1,C>>=-h,h+=l;h>0;s=s*256+t[r+T],T+=O,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+T],T+=O,h-=8);if(s===0)s=1-g;else{if(s===u)return a?NaN:(C?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(C?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,u,g=s*8-o-1,h=(1<>1,O=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,C=i?0:s-1,S=i?1:-1,F=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(u=Math.pow(2,-a))<1&&(a--,u*=2),a+T>=1?r+=O/u:r+=O*Math.pow(2,1-T),r*u>=2&&(a++,u/=2),a+T>=h?(l=0,a=h):a+T>=1?(l=(r*u-1)*Math.pow(2,o),a=a+T):(l=r*Math.pow(2,T-1)*Math.pow(2,o),a=0));o>=8;t[n+C]=l&255,C+=S,l/=256,o-=8);for(a=a<0;t[n+C]=a&255,C+=S,a/=256,g-=8);t[n+C-S]|=F*128}}),Xr=Pa(),tt=va(),ii=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;nt.Buffer=A;nt.SlowBuffer=Oa;nt.INSPECT_MAX_BYTES=50;var nr=2147483647;nt.kMaxLength=nr;A.TYPED_ARRAY_SUPPORT=Ta();!A.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Ta(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(A.prototype,"parent",{enumerable:!0,get:function(){if(A.isBuffer(this))return this.buffer}});Object.defineProperty(A.prototype,"offset",{enumerable:!0,get:function(){if(A.isBuffer(this))return this.byteOffset}});function Ce(e){if(e>nr)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,A.prototype),t}function A(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return rn(e)}return ui(e,t,r)}A.poolSize=8192;function ui(e,t,r){if(typeof e=="string")return Ca(e,t);if(ArrayBuffer.isView(e))return Sa(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(ye(e,ArrayBuffer)||e&&ye(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ye(e,SharedArrayBuffer)||e&&ye(e.buffer,SharedArrayBuffer)))return pi(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return A.from(n,t,r);let i=Ra(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return A.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}A.from=function(e,t,r){return ui(e,t,r)};Object.setPrototypeOf(A.prototype,Uint8Array.prototype);Object.setPrototypeOf(A,Uint8Array);function ci(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Aa(e,t,r){return ci(e),e<=0?Ce(e):t!==void 0?typeof r=="string"?Ce(e).fill(t,r):Ce(e).fill(t):Ce(e)}A.alloc=function(e,t,r){return Aa(e,t,r)};function rn(e){return ci(e),Ce(e<0?0:nn(e)|0)}A.allocUnsafe=function(e){return rn(e)};A.allocUnsafeSlow=function(e){return rn(e)};function Ca(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!A.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=di(e,t)|0,n=Ce(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function en(e){let t=e.length<0?0:nn(e.length)|0,r=Ce(t);for(let n=0;n=nr)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+nr.toString(16)+" bytes");return e|0}function Oa(e){return+e!=e&&(e=0),A.alloc(+e)}A.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==A.prototype};A.compare=function(e,t){if(ye(e,Uint8Array)&&(e=A.from(e,e.offset,e.byteLength)),ye(t,Uint8Array)&&(t=A.from(t,t.offset,t.byteLength)),!A.isBuffer(e)||!A.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(A.isBuffer(o)||(o=A.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(A.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function di(e,t){if(A.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||ye(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return tn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ei(e).length;default:if(i)return n?-1:tn(e).length;t=(""+t).toLowerCase(),i=!0}}A.byteLength=di;function ka(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return ja(this,t,r);case"utf8":case"utf-8":return mi(this,t,r);case"ascii":return qa(this,t,r);case"latin1":case"binary":return Ba(this,t,r);case"base64":return La(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $a(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}A.prototype._isBuffer=!0;function Je(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}A.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ii&&(A.prototype[ii]=A.prototype.inspect);A.prototype.compare=function(e,t,r,n,i){if(ye(e,Uint8Array)&&(e=A.from(e,e.offset,e.byteLength)),!A.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),u=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,sn(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=A.from(t,n)),A.isBuffer(t))return t.length===0?-1:oi(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):oi(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function oi(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let u;if(i){let g=-1;for(u=r;us&&(r=s-a),u=r;u>=0;u--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return Ia(this,e,t,r);case"utf8":case"utf-8":return Fa(this,e,t,r);case"ascii":case"latin1":case"binary":return Ma(this,e,t,r);case"base64":return _a(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Da(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};A.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function La(e,t,r){return t===0&&r===e.length?Xr.fromByteArray(e):Xr.fromByteArray(e.slice(t,r))}function mi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,u,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(h=(o&15)<<12|(l&63)<<6|u&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],u=e[i+2],g=e[i+3],(l&192)===128&&(u&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(u&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return Na(n)}var si=4096;function Na(e){let t=e.length;if(t<=si)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}A.prototype.readUintLE=A.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||K(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||K(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};A.prototype.readUint8=A.prototype.readUInt8=function(e,t){return e=e>>>0,t||K(e,1,this.length),this[e]};A.prototype.readUint16LE=A.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||K(e,2,this.length),this[e]|this[e+1]<<8};A.prototype.readUint16BE=A.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||K(e,2,this.length),this[e]<<8|this[e+1]};A.prototype.readUint32LE=A.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||K(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};A.prototype.readUint32BE=A.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||K(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};A.prototype.readBigUInt64LE=_e(function(e){e=e>>>0,rt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Ct(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,rt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Ct(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||K(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};A.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||K(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};A.prototype.readInt8=function(e,t){return e=e>>>0,t||K(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};A.prototype.readInt16LE=function(e,t){e=e>>>0,t||K(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};A.prototype.readInt16BE=function(e,t){e=e>>>0,t||K(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};A.prototype.readInt32LE=function(e,t){return e=e>>>0,t||K(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};A.prototype.readInt32BE=function(e,t){return e=e>>>0,t||K(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};A.prototype.readBigInt64LE=_e(function(e){e=e>>>0,rt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Ct(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,rt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Ct(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||K(e,4,this.length),tt.read(this,e,!0,23,4)};A.prototype.readFloatBE=function(e,t){return e=e>>>0,t||K(e,4,this.length),tt.read(this,e,!1,23,4)};A.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||K(e,8,this.length),tt.read(this,e,!0,52,8)};A.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||K(e,8,this.length),tt.read(this,e,!1,52,8)};function oe(e,t,r,n,i,o){if(!A.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}A.prototype.writeUintLE=A.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;oe(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;oe(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};A.prototype.writeUint8=A.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,1,255,0),this[t]=e&255,t+1};A.prototype.writeUint16LE=A.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};A.prototype.writeUint16BE=A.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};A.prototype.writeUint32LE=A.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};A.prototype.writeUint32BE=A.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function gi(e,t,r,n,i){xi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function hi(e,t,r,n,i){xi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}A.prototype.writeBigUInt64LE=_e(function(e,t=0){return gi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});A.prototype.writeBigUInt64BE=_e(function(e,t=0){return hi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});A.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);oe(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};A.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);oe(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};A.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};A.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};A.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};A.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};A.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||oe(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};A.prototype.writeBigInt64LE=_e(function(e,t=0){return gi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});A.prototype.writeBigInt64BE=_e(function(e,t=0){return hi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function yi(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function wi(e,t,r,n,i){return t=+t,r=r>>>0,i||yi(e,t,r,4,34028234663852886e22,-34028234663852886e22),tt.write(e,t,r,n,23,4),r+4}A.prototype.writeFloatLE=function(e,t,r){return wi(this,e,t,!0,r)};A.prototype.writeFloatBE=function(e,t,r){return wi(this,e,t,!1,r)};function bi(e,t,r,n,i){return t=+t,r=r>>>0,i||yi(e,t,r,8,17976931348623157e292,-17976931348623157e292),tt.write(e,t,r,n,52,8),r+8}A.prototype.writeDoubleLE=function(e,t,r){return bi(this,e,t,!0,r)};A.prototype.writeDoubleBE=function(e,t,r){return bi(this,e,t,!1,r)};A.prototype.copy=function(e,t,r,n){if(!A.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=ai(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ai(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ai(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Ua(e,t,r){rt(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&Ct(t,e.length-(r+1))}function xi(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new et.ERR_OUT_OF_RANGE("value",a,e)}Ua(n,i,o)}function rt(e,t){if(typeof e!="number")throw new et.ERR_INVALID_ARG_TYPE(t,"number",e)}function Ct(e,t,r){throw Math.floor(e)!==e?(rt(e,r),new et.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new et.ERR_BUFFER_OUT_OF_BOUNDS:new et.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Va=/[^+/0-9A-Za-z-_]/g;function Qa(e){if(e=e.split("=")[0],e=e.trim().replace(Va,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function tn(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Ja(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function Ei(e){return Xr.toByteArray(Qa(e))}function ir(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function ye(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function sn(e){return e!==e}var Wa=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function _e(e){return typeof BigInt>"u"?Ka:e}function Ka(){throw new Error("BigInt not supported")}});var w,m=he(()=>{"use strict";w=Qe(Pi())});function hl(){return!1}function pn(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function yl(){return pn()}function wl(){return[]}function bl(e){e(null,[])}function xl(){return""}function El(){return""}function Pl(){}function vl(){}function Tl(){}function Al(){}function Cl(){}function Sl(){}function Rl(){}function Ol(){}function kl(){return{close:()=>{},on:()=>{},removeAllListeners:()=>{}}}function Il(e,t){t(null,pn())}var Fl,Ml,sr,dn=he(()=>{"use strict";m();c();p();d();f();Fl={},Ml={existsSync:hl,lstatSync:pn,stat:Il,statSync:yl,readdirSync:wl,readdir:bl,readlinkSync:xl,realpathSync:El,chmodSync:Pl,renameSync:vl,mkdirSync:Tl,rmdirSync:Al,rmSync:Cl,unlinkSync:Sl,watchFile:Rl,unwatchFile:Ol,watch:kl,promises:Fl},sr=Ml});var Di=Ve((If,_l)=>{_l.exports={name:"@prisma/internals",version:"6.19.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-engine-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});function Ll(...e){return e.join("/")}function Nl(...e){return e.join("/")}function ql(e){let t=Li(e),r=Ni(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function Li(e){let t=e.split("/");return t[t.length-1]}function Ni(e){return e.split("/").slice(0,-1).join("/")}function jl(e){let t=e.split("/").filter(i=>i!==""&&i!=="."),r=[];for(let i of t)i===".."?r.pop():r.push(i);let n=r.join("/");return e.startsWith("/")?"/"+n:n}var qi,Bl,$l,Ul,Re,gn=he(()=>{"use strict";m();c();p();d();f();qi="/",Bl=":";$l={sep:qi},Ul={basename:Li,delimiter:Bl,dirname:Ni,join:Nl,normalize:jl,parse:ql,posix:$l,resolve:Ll,sep:qi},Re=Ul});var $i=Ve((Dm,ji)=>{"use strict";m();c();p();d();f();ji.exports=e=>{let t=e.match(/^[ \t]*(?=\S)/gm);return t?t.reduce((r,n)=>Math.min(r,n.length),1/0):0}});var Gi=Ve((Xm,Ji)=>{"use strict";m();c();p();d();f();Ji.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Ki=Ve((Vg,cr)=>{"use strict";m();c();p();d();f();cr.exports=(e={})=>{let t;if(e.repoUrl)t=e.repoUrl;else if(e.user&&e.repo)t=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let r=new URL(`${t}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}r.searchParams.set(i,o)}}return r.toString()};cr.exports.default=cr.exports});var In=Ve((o0,wo)=>{"use strict";m();c();p();d();f();wo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";m();c();p();d();f()});var To=he(()=>{"use strict";m();c();p();d();f()});var Ko=Ve((Ov,$c)=>{$c.exports={name:"@prisma/engines-version",version:"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"c2990dca591cba766e3b7ef5d9e8a84796e47ab7"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var jr,zo=he(()=>{"use strict";m();c();p();d();f();jr=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var ad={};Xe(ad,{DMMF:()=>Bt,Debug:()=>z,Decimal:()=>Fe,Extensions:()=>an,MetricsClient:()=>bt,PrismaClientInitializationError:()=>Q,PrismaClientKnownRequestError:()=>se,PrismaClientRustPanicError:()=>ce,PrismaClientUnknownRequestError:()=>G,PrismaClientValidationError:()=>te,Public:()=>ln,Sql:()=>le,createParam:()=>jo,defineDmmfProperty:()=>Go,deserializeJsonResponse:()=>Pt,deserializeRawResult:()=>Hr,dmmfToRuntimeDataModel:()=>Zi,empty:()=>Yo,getPrismaClient:()=>fa,getRuntime:()=>Ds,join:()=>Ho,makeStrictEnum:()=>ma,makeTypedQueryFactory:()=>Wo,objectEnumValues:()=>kr,raw:()=>jn,serializeJsonQuery:()=>Nr,skip:()=>Lr,sqltag:()=>$n,warnEnvConflicts:()=>void 0,warnOnce:()=>Lt});module.exports=Ea(ad);m();c();p();d();f();var an={};Xe(an,{defineExtension:()=>vi,getExtensionContext:()=>Ti});m();c();p();d();f();m();c();p();d();f();function vi(e){return typeof e=="function"?e:t=>t.$extends(e)}m();c();p();d();f();function Ti(e){return e}var ln={};Xe(ln,{validator:()=>Ai});m();c();p();d();f();m();c();p();d();f();function Ai(...e){return t=>t}m();c();p();d();f();m();c();p();d();f();var or={};Xe(or,{$:()=>ki,bgBlack:()=>il,bgBlue:()=>ll,bgCyan:()=>cl,bgGreen:()=>sl,bgMagenta:()=>ul,bgRed:()=>ol,bgWhite:()=>pl,bgYellow:()=>al,black:()=>el,blue:()=>We,bold:()=>de,cyan:()=>Se,dim:()=>St,gray:()=>It,green:()=>Ot,grey:()=>nl,hidden:()=>Za,inverse:()=>Ya,italic:()=>Ha,magenta:()=>tl,red:()=>Ge,reset:()=>za,strikethrough:()=>Xa,underline:()=>Rt,white:()=>rl,yellow:()=>kt});m();c();p();d();f();var un,Ci,Si,Ri,Oi=!0;typeof y<"u"&&({FORCE_COLOR:un,NODE_DISABLE_COLORS:Ci,NO_COLOR:Si,TERM:Ri}=y.env||{},Oi=y.stdout&&y.stdout.isTTY);var ki={enabled:!Ci&&Si==null&&Ri!=="dumb"&&(un!=null&&un!=="0"||Oi)};function V(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!ki.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var za=V(0,0),de=V(1,22),St=V(2,22),Ha=V(3,23),Rt=V(4,24),Ya=V(7,27),Za=V(8,28),Xa=V(9,29),el=V(30,39),Ge=V(31,39),Ot=V(32,39),kt=V(33,39),We=V(34,39),tl=V(35,39),Se=V(36,39),rl=V(37,39),It=V(90,39),nl=V(90,39),il=V(40,49),ol=V(41,49),sl=V(42,49),al=V(43,49),ll=V(44,49),ul=V(45,49),cl=V(46,49),pl=V(47,49);m();c();p();d();f();var dl=100,Ii=["green","yellow","blue","magenta","cyan","red"],Ft=[],Fi=Date.now(),fl=0,cn=typeof y<"u"?y.env:{};globalThis.DEBUG??=cn.DEBUG??"";globalThis.DEBUG_COLORS??=cn.DEBUG_COLORS?cn.DEBUG_COLORS==="true":!0;var Mt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function ml(e){let t={color:Ii[fl++%Ii.length],enabled:Mt.enabled(e),namespace:e,log:Mt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&Ft.push([o,...n]),Ft.length>dl&&Ft.shift(),Mt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:gl(g)),u=`+${Date.now()-Fi}ms`;Fi=Date.now(),globalThis.DEBUG_COLORS?a(or[s](de(o)),...l,or[s](u)):a(o,...l,u)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var z=new Proxy(ml,{get:(e,t)=>Mt[t],set:(e,t,r)=>Mt[t]=r});function gl(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function Mi(e=7500){let t=Ft.map(([r,...n])=>`${r} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` +`);return t.length{let r={adapterName:e.adapterName,errorRegistry:t,queryRaw:Oe(t,e.queryRaw.bind(e)),executeRaw:Oe(t,e.executeRaw.bind(e)),executeScript:Oe(t,e.executeScript.bind(e)),dispose:Oe(t,e.dispose.bind(e)),provider:e.provider,startTransaction:async(...n)=>(await Oe(t,e.startTransaction.bind(e))(...n)).map(o=>Jl(t,o))};return e.getConnectionInfo&&(r.getConnectionInfo=Gl(t,e.getConnectionInfo.bind(e))),r},Jl=(e,t)=>({adapterName:t.adapterName,provider:t.provider,options:t.options,queryRaw:Oe(e,t.queryRaw.bind(t)),executeRaw:Oe(e,t.executeRaw.bind(t)),commit:Oe(e,t.commit.bind(t)),rollback:Oe(e,t.rollback.bind(t))});function Oe(e,t){return async(...r)=>{try{return ar(await t(...r))}catch(n){if(Bi("[error@wrapAsync]",n),hn(n))return Ke(n.cause);let i=e.registerNewError(n);return Ke({kind:"GenericJs",id:i})}}}function Gl(e,t){return(...r)=>{try{return ar(t(...r))}catch(n){if(Bi("[error@wrapSync]",n),hn(n))return Ke(n.cause);let i=e.registerNewError(n);return Ke({kind:"GenericJs",id:i})}}}m();c();p();d();f();var Ui=Qe($i(),1);function wn(e){let t=(0,Ui.default)(e);if(t===0)return e;let r=new RegExp(`^[ \\t]{${t}}`,"gm");return e.replace(r,"")}m();c();p();d();f();var Vi="prisma+postgres",Qi=`${Vi}:`;function bn(e){return e?.toString().startsWith(`${Qi}//`)??!1}var Dt={};Xe(Dt,{error:()=>zl,info:()=>Kl,log:()=>Wl,query:()=>Hl,should:()=>Wi,tags:()=>_t,warn:()=>xn});m();c();p();d();f();var _t={error:Ge("prisma:error"),warn:kt("prisma:warn"),info:Se("prisma:info"),query:We("prisma:query")},Wi={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function Wl(...e){console.log(...e)}function xn(e,...t){Wi.warn()&&console.warn(`${_t.warn} ${e}`,...t)}function Kl(e,...t){console.info(`${_t.info} ${e}`,...t)}function zl(e,...t){console.error(`${_t.error} ${e}`,...t)}function Hl(e,...t){console.log(`${_t.query} ${e}`,...t)}m();c();p();d();f();function ur(e,t){if(!e)throw new Error(`${t}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}m();c();p();d();f();function ze(e,t){throw new Error(t)}m();c();p();d();f();m();c();p();d();f();function En({onlyFirst:e=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var Yl=En();function ot(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Yl,"")}m();c();p();d();f();gn();function Pn(e){return Re.sep===Re.posix.sep?e:e.split(Re.sep).join(Re.posix.sep)}m();c();p();d();f();function vn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}m();c();p();d();f();function pr(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}m();c();p();d();f();function Tn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{zi.has(e)||(zi.add(e),xn(t,...r))};var Q=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};ue(Q,"PrismaClientInitializationError");m();c();p();d();f();var se=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};ue(se,"PrismaClientKnownRequestError");m();c();p();d();f();var ce=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};ue(ce,"PrismaClientRustPanicError");m();c();p();d();f();var G=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};ue(G,"PrismaClientUnknownRequestError");m();c();p();d();f();var te=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};ue(te,"PrismaClientValidationError");m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var we=class{_map=new Map;get(t){return this._map.get(t)?.value}set(t,r){this._map.set(t,{value:r})}getOrCreate(t,r){let n=this._map.get(t);if(n)return n.value;let i=r();return this.set(t,i),i}};m();c();p();d();f();function De(e){return e.substring(0,1).toLowerCase()+e.substring(1)}m();c();p();d();f();function Yi(e,t){let r={};for(let n of e){let i=n[t];r[i]=n}return r}m();c();p();d();f();function Nt(e){let t;return{get(){return t||(t={value:e()}),t.value}}}m();c();p();d();f();function Zi(e){return{models:An(e.models),enums:An(e.enums),types:An(e.types)}}function An(e){let t={};for(let{name:r,...n}of e)t[r]=n;return t}m();c();p();d();f();function st(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function dr(e){return e.toString()!=="Invalid Date"}m();c();p();d();f();m();c();p();d();f();var at=9e15,Be=1e9,Cn="0123456789abcdef",gr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",hr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Sn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-at,maxE:at,crypto:!1},ro,ke,D=!0,wr="[DecimalError] ",qe=wr+"Invalid argument: ",no=wr+"Precision limit exceeded",io=wr+"crypto unavailable",oo="[object Decimal]",re=Math.floor,W=Math.pow,Zl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Xl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,eu=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,so=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,fe=1e7,M=7,tu=9007199254740991,ru=gr.length-1,Rn=hr.length-1,R={toStringTag:oo};R.absoluteValue=R.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};R.ceil=function(){return I(new this.constructor(this),this.e+1,2)};R.clampedTo=R.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(qe+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};R.comparedTo=R.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,u=e.s;if(!s||!a)return!l||!u?NaN:l!==u?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-u:0;if(l!==u)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};R.cosine=R.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+M,n.rounding=1,r=nu(n,po(n,r)),n.precision=e,n.rounding=t,I(ke==2||ke==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};R.cubeRoot=R.cbrt=function(){var e,t,r,n,i,o,s,a,l,u,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(D=!1,o=g.s*W(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=Z(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=W(r,1/3),e=re((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),u=l.plus(g),n=$(u.plus(g).times(a),u.plus(l),s+2,1),Z(a.d).slice(0,s)===(r=Z(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(I(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return D=!0,I(n,e,h.rounding,t)};R.decimalPlaces=R.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-re(this.e/M))*M,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};R.dividedBy=R.div=function(e){return $(this,new this.constructor(e))};R.dividedToIntegerBy=R.divToInt=function(e){var t=this,r=t.constructor;return I($(t,new r(e),0,1,1),r.precision,r.rounding)};R.equals=R.eq=function(e){return this.cmp(e)===0};R.floor=function(){return I(new this.constructor(this),this.e+1,3)};R.greaterThan=R.gt=function(e){return this.cmp(e)>0};R.greaterThanOrEqualTo=R.gte=function(e){var t=this.cmp(e);return t==1||t===0};R.hyperbolicCosine=R.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/xr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=lt(s,1,o.times(t),new s(1),!0);for(var l,u=e,g=new s(8);u--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return I(o,s.precision=r,s.rounding=n,!0)};R.hyperbolicSine=R.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=lt(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/xr(5,e)),i=lt(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(u))))}return o.precision=t,o.rounding=r,I(i,t,r,!0)};R.hyperbolicTangent=R.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,$(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};R.inverseCosine=R.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?be(t,n,i):new t(0):new t(NaN):e.isZero()?be(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};R.inverseHyperbolicCosine=R.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,D=!1,r=r.times(r).minus(1).sqrt().plus(r),D=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};R.inverseHyperbolicSine=R.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,D=!1,r=r.times(r).plus(1).sqrt().plus(r),D=!0,n.precision=e,n.rounding=t,r.ln())};R.inverseHyperbolicTangent=R.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new o(i),e,t,!0):(o.precision=r=n-i.e,i=$(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};R.inverseSine=R.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=be(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};R.inverseTangent=R.atan=function(){var e,t,r,n,i,o,s,a,l,u=this,g=u.constructor,h=g.precision,T=g.rounding;if(u.isFinite()){if(u.isZero())return new g(u);if(u.abs().eq(1)&&h+4<=Rn)return s=be(g,h+4,T).times(.25),s.s=u.s,s}else{if(!u.s)return new g(NaN);if(h+4<=Rn)return s=be(g,h+4,T).times(.5),s.s=u.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/M+2|0),e=r;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(D=!1,t=Math.ceil(a/M),n=1,l=u.times(u),s=new g(u),i=u;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};R.isNaN=function(){return!this.s};R.isNegative=R.isNeg=function(){return this.s<0};R.isPositive=R.isPos=function(){return this.s>0};R.isZero=function(){return!!this.d&&this.d[0]===0};R.lessThan=R.lt=function(e){return this.cmp(e)<0};R.lessThanOrEqualTo=R.lte=function(e){return this.cmp(e)<1};R.logarithm=R.log=function(e){var t,r,n,i,o,s,a,l,u=this,g=u.constructor,h=g.precision,T=g.rounding,O=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=u.d,u.s<0||!r||!r[0]||u.eq(1))return new g(r&&!r[0]?-1/0:u.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(D=!1,a=h+O,s=Ne(u,a),n=t?yr(g,a+10):Ne(e,a),l=$(s,n,a,1),qt(l.d,i=h,T))do if(a+=10,s=Ne(u,a),n=t?yr(g,a+10):Ne(e,a),l=$(s,n,a,1),!o){+Z(l.d).slice(i+1,i+15)+1==1e14&&(l=I(l,h+1,0));break}while(qt(l.d,i+=10,T));return D=!0,I(l,h,T)};R.minus=R.sub=function(e){var t,r,n,i,o,s,a,l,u,g,h,T,O=this,C=O.constructor;if(e=new C(e),!O.d||!e.d)return!O.s||!e.s?e=new C(NaN):O.d?e.s=-e.s:e=new C(e.d||O.s!==e.s?O:NaN),e;if(O.s!=e.s)return e.s=-e.s,O.plus(e);if(u=O.d,T=e.d,a=C.precision,l=C.rounding,!u[0]||!T[0]){if(T[0])e.s=-e.s;else if(u[0])e=new C(O);else return new C(l===3?-0:0);return D?I(e,a,l):e}if(r=re(e.e/M),g=re(O.e/M),u=u.slice(),o=g-r,o){for(h=o<0,h?(t=u,o=-o,s=T.length):(t=T,r=g,s=u.length),n=Math.max(Math.ceil(a/M),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=u.length,s=T.length,h=n0;--n)u[s++]=0;for(n=T.length;n>o;){if(u[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=u.length,i=g.length,s-i<0&&(i=s,r=g,g=u,u=r),t=0;i;)t=(u[--i]=u[i]+g[i]+t)/fe|0,u[i]%=fe;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=br(u,n),D?I(e,a,l):e};R.precision=R.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(qe+e);return r.d?(t=ao(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};R.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};R.sine=R.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+M,n.rounding=1,r=ou(n,po(n,r)),n.precision=e,n.rounding=t,I(ke>2?r.neg():r,e,t,!0)):new n(NaN)};R.squareRoot=R.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,u=s.s,g=s.constructor;if(u!==1||!a||!a[0])return new g(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(D=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=Z(a),(t.length+l)%2==0&&(t+="0"),u=Math.sqrt(t),l=re((l+1)/2)-(l<0||l%2),u==1/0?t="5e"+l:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(u.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus($(s,o,r+2,1)).times(.5),Z(o.d).slice(0,r)===(t=Z(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(I(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,l+1,1),e=!n.times(n).eq(s));break}return D=!0,I(n,l,g.rounding,e)};R.tangent=R.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=$(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(ke==2||ke==4?r.neg():r,e,t,!0)):new n(NaN)};R.times=R.mul=function(e){var t,r,n,i,o,s,a,l,u,g=this,h=g.constructor,T=g.d,O=(e=new h(e)).d;if(e.s*=g.s,!T||!T[0]||!O||!O[0])return new h(!e.s||T&&!T[0]&&!O||O&&!O[0]&&!T?NaN:!T||!O?e.s/0:e.s*0);for(r=re(g.e/M)+re(e.e/M),l=T.length,u=O.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+O[n]*T[i-n-1]+t,o[i--]=a%fe|0,t=a/fe|0;o[i]=(o[i]+t)%fe|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=br(o,r),D?I(e,h.precision,h.rounding):e};R.toBinary=function(e,t){return kn(this,2,e,t)};R.toDecimalPlaces=R.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(ae(e,0,Be),t===void 0?t=n.rounding:ae(t,0,8),I(r,e+r.e+1,t))};R.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=xe(n,!0):(ae(e,0,Be),t===void 0?t=i.rounding:ae(t,0,8),n=I(new i(n),e+1,t),r=xe(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};R.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=xe(i):(ae(e,0,Be),t===void 0?t=o.rounding:ae(t,0,8),n=I(new o(i),e+i.e+1,t),r=xe(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};R.toFraction=function(e){var t,r,n,i,o,s,a,l,u,g,h,T,O=this,C=O.d,S=O.constructor;if(!C)return new S(O);if(u=r=new S(1),n=l=new S(0),t=new S(n),o=t.e=ao(C)-O.e-1,s=o%M,t.d[0]=W(10,s<0?M+s:s),e==null)e=o>0?t:u;else{if(a=new S(e),!a.isInt()||a.lt(u))throw Error(qe+a);e=a.gt(t)?o>0?t:u:a}for(D=!1,a=new S(Z(C)),g=S.precision,S.precision=o=C.length*M*2;h=$(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=u,u=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=$(e.minus(r),n,0,1,1),l=l.plus(i.times(u)),r=r.plus(i.times(n)),l.s=u.s=O.s,T=$(u,n,o,1).minus(O).abs().cmp($(l,r,o,1).minus(O).abs())<1?[u,n]:[l,r],S.precision=g,D=!0,T};R.toHexadecimal=R.toHex=function(e,t){return kn(this,16,e,t)};R.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:ae(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(D=!1,r=$(r,e,0,t,1).times(e),D=!0,I(r)):(e.s=r.s,r=e),r};R.toNumber=function(){return+this};R.toOctal=function(e,t){return kn(this,8,e,t)};R.toPower=R.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,u=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(W(+a,u));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return I(a,n,o);if(t=re(e.e/M),t>=e.d.length-1&&(r=u<0?-u:u)<=tu)return i=lo(l,a,r,n),e.s<0?new l(1).div(i):I(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(D=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=On(e.times(Ne(a,n+r)),n),i.d&&(i=I(i,n+5,1),qt(i.d,n,o)&&(t=n+10,i=I(On(e.times(Ne(a,t+r)),t),t+5,1),+Z(i.d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0)))),i.s=s,D=!0,l.rounding=o,I(i,n,o))};R.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=xe(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ae(e,1,Be),t===void 0?t=i.rounding:ae(t,0,8),n=I(new i(n),e,t),r=xe(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};R.toSignificantDigits=R.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(ae(e,1,Be),t===void 0?t=n.rounding:ae(t,0,8)),I(new n(r),e,t)};R.toString=function(){var e=this,t=e.constructor,r=xe(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};R.truncated=R.trunc=function(){return I(new this.constructor(this),this.e+1,1)};R.valueOf=R.toJSON=function(){var e=this,t=e.constructor,r=xe(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function Z(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(qe+e)}function qt(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=M,i=0):(i=Math.ceil((t+1)/M),t%=M),o=W(10,M-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==W(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==W(10,t-3)-1,s}function fr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function nu(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/xr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=lt(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var $=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var u,g,h,T,O,C,S,F,_,L,k,q,Y,U,At,J,ie,Ae,X,Ze,tr=n.constructor,Zr=n.s==i.s?1:-1,ee=n.d,B=i.d;if(!ee||!ee[0]||!B||!B[0])return new tr(!n.s||!i.s||(ee?B&&ee[0]==B[0]:!B)?NaN:ee&&ee[0]==0||!B?Zr*0:Zr/0);for(l?(O=1,g=n.e-i.e):(l=fe,O=M,g=re(n.e/O)-re(i.e/O)),X=B.length,ie=ee.length,_=new tr(Zr),L=_.d=[],h=0;B[h]==(ee[h]||0);h++);if(B[h]>(ee[h]||0)&&g--,o==null?(U=o=tr.precision,s=tr.rounding):a?U=o+(n.e-i.e)+1:U=o,U<0)L.push(1),C=!0;else{if(U=U/O+2|0,h=0,X==1){for(T=0,B=B[0],U++;(h1&&(B=e(B,T,l),ee=e(ee,T,l),X=B.length,ie=ee.length),J=X,k=ee.slice(0,X),q=k.length;q=l/2&&++Ae;do T=0,u=t(B,k,X,q),u<0?(Y=k[0],X!=q&&(Y=Y*l+(k[1]||0)),T=Y/Ae|0,T>1?(T>=l&&(T=l-1),S=e(B,T,l),F=S.length,q=k.length,u=t(S,k,F,q),u==1&&(T--,r(S,X=10;T/=10)h++;_.e=h+g*O-1,I(_,a?o+_.e+1:o,s,C)}return _}}();function I(e,t,r,n){var i,o,s,a,l,u,g,h,T,O=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=M,s=t,g=h[T=0],l=g/W(10,i-s-1)%10|0;else if(T=Math.ceil((o+1)/M),a=h.length,T>=a)if(n){for(;a++<=T;)h.push(0);g=l=0,i=1,o%=M,s=o-M+1}else break e;else{for(g=a=h[T],i=1;a>=10;a/=10)i++;o%=M,s=o-M+i,l=s<0?0:g/W(10,i-s-1)%10|0}if(n=n||t<0||h[T+1]!==void 0||(s<0?g:g%W(10,i-s-1)),u=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/W(10,i-s):0:h[T-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,u?(t-=e.e+1,h[0]=W(10,(M-t%M)%M),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=T,a=1,T--):(h.length=T+1,a=W(10,M-o),h[T]=s>0?(g/W(10,i-s)%W(10,s)|0)*a:0),u)for(;;)if(T==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==fe&&(h[0]=1));break}else{if(h[T]+=a,h[T]!=fe)break;h[T--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return D&&(e.e>O.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Le(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Le(-i-1)+o,r&&(n=r-s)>0&&(o+=Le(n))):i>=s?(o+=Le(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Le(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Le(n))),o}function br(e,t){var r=e[0];for(t*=M;r>=10;r/=10)t++;return t}function yr(e,t,r){if(t>ru)throw D=!0,r&&(e.precision=r),Error(no);return I(new e(gr),t,1,!0)}function be(e,t,r){if(t>Rn)throw Error(no);return I(new e(hr),t,r,!0)}function ao(e){var t=e.length-1,r=t*M+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Le(e){for(var t="";e--;)t+="0";return t}function lo(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/M+4);for(D=!1;;){if(r%2&&(o=o.times(t),eo(o.d,s)&&(i=!0)),r=re(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),eo(t.d,s)}return D=!0,o}function Xi(e){return e.d[e.d.length-1]&1}function uo(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new T(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(D=!1,l=C):l=t,a=new T(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(W(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new T(1),T.precision=l;;){if(o=I(o.times(e),l,1),r=r.times(++g),a=s.plus($(o,r,l,1)),Z(a.d).slice(0,l)===Z(s.d).slice(0,l)){for(i=h;i--;)s=I(s.times(s),l,1);if(t==null)if(u<3&&qt(s.d,l-n,O,u))T.precision=l+=10,r=o=a=new T(1),g=0,u++;else return I(s,T.precision=C,O,D=!0);else return T.precision=C,s}s=a}}function Ne(e,t){var r,n,i,o,s,a,l,u,g,h,T,O=1,C=10,S=e,F=S.d,_=S.constructor,L=_.rounding,k=_.precision;if(S.s<0||!F||!F[0]||!S.e&&F[0]==1&&F.length==1)return new _(F&&!F[0]?-1/0:S.s!=1?NaN:F?0:S);if(t==null?(D=!1,g=k):g=t,_.precision=g+=C,r=Z(F),n=r.charAt(0),Math.abs(o=S.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)S=S.times(e),r=Z(S.d),n=r.charAt(0),O++;o=S.e,n>1?(S=new _("0."+r),o++):S=new _(n+"."+r.slice(1))}else return u=yr(_,g+2,k).times(o+""),S=Ne(new _(n+"."+r.slice(1)),g-C).plus(u),_.precision=k,t==null?I(S,k,L,D=!0):S;for(h=S,l=s=S=$(S.minus(1),S.plus(1),g,1),T=I(S.times(S),g,1),i=3;;){if(s=I(s.times(T),g,1),u=l.plus($(s,new _(i),g,1)),Z(u.d).slice(0,g)===Z(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(yr(_,g+2,k).times(o+""))),l=$(l,new _(O),g,1),t==null)if(qt(l.d,g-C,L,a))_.precision=g+=C,u=s=S=$(h.minus(1),h.plus(1),g,1),T=I(S.times(S),g,1),i=a=1;else return I(l,_.precision=k,L,D=!0);else return _.precision=k,l;l=u,i+=2}}function co(e){return String(e.s*e.s/0)}function mr(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%M,r<0&&(n+=M),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),so.test(t))return mr(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Xl.test(t))r=16,t=t.toLowerCase();else if(Zl.test(t))r=2;else if(eu.test(t))r=8;else throw Error(qe+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=lo(n,new n(r),o,o*2)),u=fr(t,r,fe),g=u.length-1,o=g;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=br(u,g),e.d=u,D=!1,s&&(e=$(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?W(2,l):Ie.pow(2,l))),D=!0,e)}function ou(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:lt(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/xr(5,r)),t=lt(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function lt(e,t,r,n,i){var o,s,a,l,u=1,g=e.precision,h=Math.ceil(g/M);for(D=!1,l=r.times(r),a=new e(n);;){if(s=$(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=$(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return D=!0,s.d.length=h+1,s}function xr(e,t){for(var r=e;--t;)r*=e;return r}function po(e,t){var r,n=t.s<0,i=be(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return ke=n?4:1,t;if(r=t.divToInt(i),r.isZero())ke=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return ke=Xi(r)?n?2:3:n?4:1,t;ke=Xi(r)?n?1:4:n?3:2}return t.minus(i).abs()}function kn(e,t,r,n){var i,o,s,a,l,u,g,h,T,O=e.constructor,C=r!==void 0;if(C?(ae(r,1,Be),n===void 0?n=O.rounding:ae(n,0,8)):(r=O.precision,n=O.rounding),!e.isFinite())g=co(e);else{for(g=xe(e),s=g.indexOf("."),C?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),T=new O(1),T.e=g.length-s,T.d=fr(xe(T),10,i),T.e=T.d.length),h=fr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=C?"0p+0":"0";else{if(s<0?o--:(e=new O(e),e.d=h,e.e=o,e=$(e,T,r,n,0,i),h=e.d,o=e.e,u=ro),s=h[r],a=i/2,u=u||h[r+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,u)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=fr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function su(e){return new this(e).abs()}function au(e){return new this(e).acos()}function lu(e){return new this(e).acosh()}function uu(e,t){return new this(e).plus(t)}function cu(e){return new this(e).asin()}function pu(e){return new this(e).asinh()}function du(e){return new this(e).atan()}function fu(e){return new this(e).atanh()}function mu(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=be(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?be(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=be(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan($(e,t,o,1)),t=be(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan($(e,t,o,1)),r}function gu(e){return new this(e).cbrt()}function hu(e){return I(e=new this(e),e.e+1,2)}function yu(e,t,r){return new this(e).clamp(t,r)}function wu(e){if(!e||typeof e!="object")throw Error(wr+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,Be,"rounding",0,8,"toExpNeg",-at,0,"toExpPos",0,at,"maxE",0,at,"minE",-at,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(qe+r+": "+n);if(r="crypto",i&&(this[r]=Sn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(io);else this[r]=!1;else throw Error(qe+r+": "+n);return this}function bu(e){return new this(e).cos()}function xu(e){return new this(e).cosh()}function fo(e){var t,r,n;function i(o){var s,a,l,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,to(o)){u.s=o.s,D?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e=10;a/=10)s++;D?s>i.maxE?(u.e=NaN,u.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(io);else for(;o=10;i/=10)n++;nct,datamodelEnumToSchemaEnum:()=>Ju});m();c();p();d();f();m();c();p();d();f();function Ju(e){return{name:e.name,values:e.values.map(t=>t.name)}}m();c();p();d();f();var ct=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(ct||{});var yo=Qe(Gi());m();c();p();d();f();dn();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var mo={keyword:Se,entity:Se,value:e=>de(We(e)),punctuation:We,directive:Se,function:Se,variable:e=>de(We(e)),string:e=>de(Ot(e)),boolean:kt,number:Se,comment:It};var Gu=e=>e,Er={},Wu=0,N={manual:Er.Prism&&Er.Prism.manual,disableWorkerMessageHandler:Er.Prism&&Er.Prism.disableWorkerMessageHandler,util:{encode:function(e){if(e instanceof me){let t=e;return new me(t.type,N.util.encode(t.content),t.alias)}else return Array.isArray(e)?e.map(N.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(Ae instanceof me)continue;if(Y&&J!=t.length-1){L.lastIndex=ie;var h=L.exec(e);if(!h)break;var g=h.index+(q?h[1].length:0),T=h.index+h[0].length,a=J,l=ie;for(let B=t.length;a=l&&(++J,ie=l);if(t[J]instanceof me)continue;u=a-J,Ae=e.slice(ie,l),h.index-=ie}else{L.lastIndex=0;var h=L.exec(Ae),u=1}if(!h){if(o)break;continue}q&&(U=h[1]?h[1].length:0);var g=h.index+U,h=h[0].slice(U),T=g+h.length,O=Ae.slice(0,g),C=Ae.slice(T);let X=[J,u];O&&(++J,ie+=O.length,X.push(O));let Ze=new me(S,k?N.tokenize(h,k):h,At,h,Y);if(X.push(Ze),C&&X.push(C),Array.prototype.splice.apply(t,X),u!=1&&N.matchGrammar(e,t,r,J,ie,!0,S),o)break}}}},tokenize:function(e,t){let r=[e],n=t.rest;if(n){for(let i in n)t[i]=n[i];delete t.rest}return N.matchGrammar(e,r,t,0,0,!1),r},hooks:{all:{},add:function(e,t){let r=N.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){let r=N.hooks.all[e];if(!(!r||!r.length))for(var n=0,i;i=r[n++];)i(t)}},Token:me};N.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};N.languages.javascript=N.languages.extend("clike",{"class-name":[N.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/});N.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;N.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:N.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:N.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:N.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:N.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});N.languages.markup&&N.languages.markup.tag.addInlined("script","javascript");N.languages.js=N.languages.javascript;N.languages.typescript=N.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/});N.languages.ts=N.languages.typescript;function me(e,t,r,n,i){this.type=e,this.content=t,this.alias=r,this.length=(n||"").length|0,this.greedy=!!i}me.stringify=function(e,t){return typeof e=="string"?e:Array.isArray(e)?e.map(function(r){return me.stringify(r,t)}).join(""):Ku(e.type)(e.content)};function Ku(e){return mo[e]||Gu}function go(e){return zu(e,N.languages.javascript)}function zu(e,t){return N.tokenize(e,t).map(n=>me.stringify(n)).join("")}m();c();p();d();f();function ho(e){return wn(e)}var Pr=class e{firstLineNumber;lines;static read(t){let r;try{r=sr.readFileSync(t,"utf-8")}catch{return null}return e.fromContent(r)}static fromContent(t){let r=t.split(/\r?\n/);return new e(1,r)}constructor(t,r){this.firstLineNumber=t,this.lines=r}get lastLineNumber(){return this.firstLineNumber+this.lines.length-1}mapLineAt(t,r){if(tthis.lines.length+this.firstLineNumber)return this;let n=t-this.firstLineNumber,i=[...this.lines];return i[n]=r(i[n]),new e(this.firstLineNumber,i)}mapLines(t){return new e(this.firstLineNumber,this.lines.map((r,n)=>t(r,this.firstLineNumber+n)))}lineAt(t){return this.lines[t-this.firstLineNumber]}prependSymbolAt(t,r){return this.mapLines((n,i)=>i===t?`${r} ${n}`:` ${n}`)}slice(t,r){let n=this.lines.slice(t-1,r).join(` +`);return new e(t,ho(n).split(` +`))}highlight(){let t=go(this.toString());return new e(this.firstLineNumber,t.split(` +`))}toString(){return this.lines.join(` +`)}};var Hu={red:Ge,gray:It,dim:St,bold:de,underline:Rt,highlightSource:e=>e.highlight()},Yu={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Zu({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function Xu({callsite:e,message:t,originalMethod:r,isPanic:n,callArguments:i},o){let s=Zu({message:t,originalMethod:r,isPanic:n,callArguments:i});if(!e||typeof window<"u"||y.env.NODE_ENV==="production")return s;let a=e.getLocation();if(!a||!a.lineNumber||!a.columnNumber)return s;let l=Math.max(1,a.lineNumber-3),u=Pr.read(a.fileName)?.slice(l,a.lineNumber),g=u?.lineAt(a.lineNumber);if(u&&g){let h=tc(g),T=ec(g);if(!T)return s;s.functionName=`${T.code})`,s.location=a,n||(u=u.mapLineAt(a.lineNumber,C=>C.slice(0,T.openingBraceIndex))),u=o.highlightSource(u);let O=String(u.lastLineNumber).length;if(s.contextLines=u.mapLines((C,S)=>o.gray(String(S).padStart(O))+" "+C).mapLines(C=>o.dim(C)).prependSymbolAt(a.lineNumber,o.bold(o.red("\u2192"))),i){let C=h+O+1;C+=2,s.callArguments=(0,yo.default)(i,C).slice(C)}}return s}function ec(e){let t=Object.keys(ct).join("|"),n=new RegExp(String.raw`\.(${t})\(`).exec(e);if(n){let i=n.index+n[0].length,o=e.lastIndexOf(" ",n.index)+1;return{code:e.slice(o,i),openingBraceIndex:i}}return null}function tc(e){let t=0;for(let r=0;r"Unknown error")}function Po(e){return e.errors.flatMap(t=>t.kind==="Union"?Po(t):[t])}function ic(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:oc(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function oc(e,t){return[...new Set(e.concat(t))]}function sc(e){return Tn(e,(t,r)=>{let n=bo(t),i=bo(r);return n!==i?n-i:xo(t)-xo(r)})}function bo(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function xo(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}m();c();p();d();f();var pe=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};m();c();p();d();f();m();c();p();d();f();To();m();c();p();d();f();var pt=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};vo();m();c();p();d();f();m();c();p();d();f();var Ar=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};m();c();p();d();f();var Cr=e=>e,Sr={bold:Cr,red:Cr,green:Cr,dim:Cr,enabled:!1},Ao={bold:de,red:Ge,green:Ot,dim:St,enabled:!0},dt={write(e){e.writeLine(",")}};m();c();p();d();f();var Ee=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};m();c();p();d();f();var je=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var ft=class extends je{items=[];addItem(t){return this.items.push(new Ar(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new Ee("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(dt,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var mt=class e extends je{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof ft&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new Ee("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(dt,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};m();c();p();d();f();var H=class extends je{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new Ee(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};m();c();p();d();f();var jt=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(dt,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Tr(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":ac(e,t);break;case"IncludeOnScalar":lc(e,t);break;case"EmptySelection":uc(e,t,r);break;case"UnknownSelectionField":fc(e,t);break;case"InvalidSelectionValue":mc(e,t);break;case"UnknownArgument":gc(e,t);break;case"UnknownInputField":hc(e,t);break;case"RequiredArgumentMissing":yc(e,t);break;case"InvalidArgumentType":wc(e,t);break;case"InvalidArgumentValue":bc(e,t);break;case"ValueTooLarge":xc(e,t);break;case"SomeFieldsMissing":Ec(e,t);break;case"TooManyFieldsGiven":Pc(e,t);break;case"Union":Eo(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function ac(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function lc(e,t){let[r,n]=gt(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new pe(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${$t(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function uc(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){cc(e,t,i);return}if(n.hasField("select")){pc(e,t);return}}if(r?.[De(e.outputType.name)]){dc(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function cc(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new pe(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function pc(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),Oo(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${$t(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function dc(e,t){let r=new jt;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new pe("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=gt(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new mt;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function fc(e,t){let r=ko(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":Oo(n,e.outputType);break;case"include":vc(n,e.outputType);break;case"omit":Tc(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push($t(n)),i.join(" ")})}function mc(e,t){let r=ko(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function gc(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Ac(n,e.arguments)),t.addErrorMessage(i=>So(i,r,e.arguments.map(o=>o.name)))}function hc(e,t){let[r,n]=gt(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Io(o,e.inputType)}t.addErrorMessage(o=>So(o,n,e.inputType.fields.map(s=>s.name)))}function So(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=Sc(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push($t(e)),n.join(" ")}function yc(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=gt(e.argumentPath),s=new jt,a=n.getDeepFieldValue(i)?.asObject();if(a){if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new pe(o,s).makeRequired())}else{let l=e.inputTypes.map(Ro).join(" | ");a.addSuggestion(new pe(o,l).makeRequired())}if(e.dependentArgumentPath){n.getDeepField(e.dependentArgumentPath)?.markAsError();let[,l]=gt(e.dependentArgumentPath);t.addErrorMessage(u=>`Argument \`${u.green(o)}\` is required because argument \`${u.green(l)}\` was provided.`)}}}function Ro(e){return e.kind==="list"?`${Ro(e.elementType)}[]`:e.name}function wc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Rr("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function bc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Rr("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function xc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function Ec(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Io(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Rr("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push($t(i)),o.join(" ")})}function Pc(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Rr("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function Oo(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new pe(r.name,"true"))}function vc(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new pe(r.name,"true"))}function Tc(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new pe(r.name,"true"))}function Ac(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new pe(r.name,r.typeNames.join(" | ")))}function ko(e,t){let[r,n]=gt(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Io(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new pe(r.name,r.typeNames.join(" | ")))}function gt(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function $t({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Rr(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var Cc=3;function Sc(e,t){let r=1/0,n;for(let i of t){let o=(0,Co.default)(e,i);o>Cc||o`}};function ht(e){return e instanceof Ut}m();c();p();d();f();var Or=Symbol(),Mn=new WeakMap,Me=class{constructor(t){t===Or?Mn.set(this,`Prisma.${this._getName()}`):Mn.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Mn.get(this)}},Vt=class extends Me{_getNamespace(){return"NullTypes"}},Qt=class extends Vt{#e};_n(Qt,"DbNull");var Jt=class extends Vt{#e};_n(Jt,"JsonNull");var Gt=class extends Vt{#e};_n(Gt,"AnyNull");var kr={classes:{DbNull:Qt,JsonNull:Jt,AnyNull:Gt},instances:{DbNull:new Qt(Or),JsonNull:new Jt(Or),AnyNull:new Gt(Or)}};function _n(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}m();c();p();d();f();var Fo=": ",Ir=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Fo.length}write(t){let r=new Ee(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Fo).write(this.value)}};var Dn=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function yt(e){return new Dn(Mo(e))}function Mo(e){let t=new mt;for(let[r,n]of Object.entries(e)){let i=new Ir(r,_o(n));t.addField(i)}return t}function _o(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(ut(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=dr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Me?new H(`Prisma.${e._getName()}`):ht(e)?new H(`prisma.${De(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Rc(e):typeof e=="object"?Mo(e):new H(Object.prototype.toString.call(e))}function Rc(e){let t=new ft;for(let r of e)t.addItem(_o(r));return t}function Fr(e,t){let r=t==="pretty"?Ao:Sr,n=e.renderAllMessages(r),i=new pt(0,{colors:r}).write(e).toString();return{message:n,args:i}}function Mr({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=yt(e);for(let h of t)Tr(h,a,s);let{message:l,args:u}=Fr(a,r),g=vr({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:u});throw new te(g,{clientVersion:o})}m();c();p();d();f();m();c();p();d();f();function Pe(e){return e.replace(/^./,t=>t.toLowerCase())}m();c();p();d();f();function Lo(e,t,r){let n=Pe(r);return!t.result||!(t.result.$allModels||t.result[n])?e:Oc({...e,...Do(t.name,e,t.result.$allModels),...Do(t.name,e,t.result[n])})}function Oc(e){let t=new we,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return pr(e,n=>({...n,needs:r(n.name,new Set)}))}function Do(e,t,r){return r?pr(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:kc(t,o,i)})):{}}function kc(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function No(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function qo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var _r=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new we;modelExtensionsCache=new we;queryCallbacksCache=new we;clientExtensions=Nt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=Nt(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>Lo(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Pe(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},wt=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new _r(t))}isEmpty(){return this.head===void 0}append(t){return new e(new _r(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};m();c();p();d();f();var Dr=class{constructor(t){this.name=t}};function Bo(e){return e instanceof Dr}function jo(e){return new Dr(e)}m();c();p();d();f();m();c();p();d();f();var $o=Symbol(),Wt=class{constructor(t){if(t!==$o)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Lr:t}},Lr=new Wt($o);function ve(e){return e instanceof Wt}var Ic={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Uo="explicitly `undefined` values are not allowed";function Nr({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=wt.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:g}){let h=new Ln({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:g});return{modelName:e,action:Ic[t],query:Kt(r,h)}}function Kt({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Qo(r,n),selection:Fc(e,t,i,n)}}function Fc(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),Lc(e,n)):Mc(n,t,r)}function Mc(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&_c(n,t,e),Dc(n,r,e),n}function _c(e,t,r){for(let[n,i]of Object.entries(t)){if(ve(i))continue;let o=r.nestSelection(n);if(Nn(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=Kt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Kt(i,o)}}function Dc(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=qo(i,n);for(let[s,a]of Object.entries(o)){if(ve(a))continue;Nn(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function Lc(e,t){let r={},n=t.getComputedFields(),i=No(e,n);for(let[o,s]of Object.entries(i)){if(ve(s))continue;let a=t.nestSelection(o);Nn(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||ve(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=Kt({},a):r[o]=!0;continue}r[o]=Kt(s,a)}}return r}function Vo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(st(e)){if(dr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Bo(e))return{$type:"Param",value:e.name};if(ht(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return Nc(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(qc(e))return e.values;if(ut(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Me){if(e!==kr.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(Bc(e))return e.toJSON();if(typeof e=="object")return Qo(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Qo(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);ve(i)||(i!==void 0?r[n]=Vo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:Uo}))}return r}function Nc(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[De(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:ze(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};m();c();p();d();f();function Jo(e){if(!e._hasPreviewFlag("metrics"))throw new te("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var bt=class{_client;constructor(t){this._client=t}prometheus(t){return Jo(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Jo(this._client),this._client._engine.metrics({format:"json",...t})}};m();c();p();d();f();function Go(e,t){let r=Nt(()=>jc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function jc(e){return{datamodel:{models:qn(e.models),enums:qn(e.enums),types:qn(e.types)}}}function qn(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}m();c();p();d();f();var Bn=new WeakMap,qr="$$PrismaTypedSql",zt=class{constructor(t,r){Bn.set(this,{sql:t,values:r}),Object.defineProperty(this,qr,{value:qr})}get sql(){return Bn.get(this).sql}get values(){return Bn.get(this).values}};function Wo(e){return(...t)=>new zt(e,t)}function Br(e){return e!=null&&e[qr]===qr}m();c();p();d();f();var da=Qe(Ko());m();c();p();d();f();zo();dn();gn();m();c();p();d();f();var le=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}m();c();p();d();f();m();c();p();d();f();var $r={enumerable:!0,configurable:!0,writable:!0};function Ur(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>$r,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var Zo=Symbol.for("nodejs.util.inspect.custom");function ge(e,t){let r=Uc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=Xo(Reflect.ownKeys(o),r),a=Xo(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...$r,...l?.getPropertyDescriptor(s)}:$r:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[Zo]=function(){let o={...this};return delete o[Zo],o},i}function Uc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function Xo(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}m();c();p();d();f();function xt(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}m();c();p();d();f();function Vr(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}m();c();p();d();f();function es(e){if(e===void 0)return"";let t=yt(e);return new pt(0,{colors:Sr}).write(t).toString()}m();c();p();d();f();var Vc="P2037";function Qr({error:e,user_facing_error:t},r,n){return t.error_code?new se(Qc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new G(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function Qc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===Vc&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var Yt="";function ts(e){var t=e.split(` +`);return t.reduce(function(r,n){var i=Wc(n)||zc(n)||Zc(n)||rp(n)||ep(n);return i&&r.push(i),r},[])}var Jc=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Gc=/\((\S*)(?::(\d+))(?::(\d+))\)/;function Wc(e){var t=Jc.exec(e);if(!t)return null;var r=t[2]&&t[2].indexOf("native")===0,n=t[2]&&t[2].indexOf("eval")===0,i=Gc.exec(t[2]);return n&&i!=null&&(t[2]=i[1],t[3]=i[2],t[4]=i[3]),{file:r?null:t[2],methodName:t[1]||Yt,arguments:r?[t[2]]:[],lineNumber:t[3]?+t[3]:null,column:t[4]?+t[4]:null}}var Kc=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function zc(e){var t=Kc.exec(e);return t?{file:t[2],methodName:t[1]||Yt,arguments:[],lineNumber:+t[3],column:t[4]?+t[4]:null}:null}var Hc=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,Yc=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function Zc(e){var t=Hc.exec(e);if(!t)return null;var r=t[3]&&t[3].indexOf(" > eval")>-1,n=Yc.exec(t[3]);return r&&n!=null&&(t[3]=n[1],t[4]=n[2],t[5]=null),{file:t[3],methodName:t[1]||Yt,arguments:t[2]?t[2].split(","):[],lineNumber:t[4]?+t[4]:null,column:t[5]?+t[5]:null}}var Xc=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function ep(e){var t=Xc.exec(e);return t?{file:t[3],methodName:t[1]||Yt,arguments:[],lineNumber:+t[4],column:t[5]?+t[5]:null}:null}var tp=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function rp(e){var t=tp.exec(e);return t?{file:t[2],methodName:t[1]||Yt,arguments:[],lineNumber:+t[3],column:t[4]?+t[4]:null}:null}var Un=class{getLocation(){return null}},Vn=class{_error;constructor(){this._error=new Error}getLocation(){let t=this._error.stack;if(!t)return null;let n=ts(t).find(i=>{if(!i.file)return!1;let o=Pn(i.file);return o!==""&&!o.includes("@prisma")&&!o.includes("/packages/client/src/runtime/")&&!o.endsWith("/runtime/binary.js")&&!o.endsWith("/runtime/library.js")&&!o.endsWith("/runtime/edge.js")&&!o.endsWith("/runtime/edge-esm.js")&&!o.startsWith("internal/")&&!i.methodName.includes("new ")&&!i.methodName.includes("getCallSite")&&!i.methodName.includes("Proxy.")&&i.methodName.split(".").length<4});return!n||!n.file?null:{fileName:n.file,lineNumber:n.lineNumber,columnNumber:n.column}}};function $e(e){return e==="minimal"?typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new Un:new Vn}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var rs={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function Et(e={}){let t=ip(e);return Object.entries(t).reduce((n,[i,o])=>(rs[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function ip(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Jr(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function ns(e,t){let r=Jr(e);return t({action:"aggregate",unpacker:r,argsMapper:Et})(e)}m();c();p();d();f();function op(e={}){let{select:t,...r}=e;return typeof t=="object"?Et({...r,_count:t}):Et({...r,_count:{_all:!0}})}function sp(e={}){return typeof e.select=="object"?t=>Jr(e)(t)._count:t=>Jr(e)(t)._count._all}function is(e,t){return t({action:"count",unpacker:sp(e),argsMapper:op})(e)}m();c();p();d();f();function ap(e={}){let t=Et(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function lp(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function os(e,t){return t({action:"groupBy",unpacker:lp(e),argsMapper:ap})(e)}function ss(e,t,r){if(t==="aggregate")return n=>ns(n,r);if(t==="count")return n=>is(n,r);if(t==="groupBy")return n=>os(n,r)}m();c();p();d();f();function as(e,t){let r=t.fields.filter(i=>!i.relationName),n=Yi(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Ut(e,o,s.type,s.isList,s.kind==="enum")},...Ur(Object.keys(n))})}m();c();p();d();f();m();c();p();d();f();var ls=e=>Array.isArray(e)?e:e.split("."),Qn=(e,t)=>ls(t).reduce((r,n)=>r&&r[n],e),us=(e,t,r)=>ls(t).reduceRight((n,i,o,s)=>Object.assign({},Qn(e,s.slice(0,o)),{[i]:n}),r);function up(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function cp(e,t,r){return t===void 0?e??{}:us(t,r,e||!0)}function Jn(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,u)=>({...l,[u.name]:u}),{});return l=>{let u=$e(e._errorFormat),g=up(n,i),h=cp(l,o,g),T=r({dataPath:g,callsite:u})(h),O=pp(e,t);return new Proxy(T,{get(C,S){if(!O.includes(S))return C[S];let _=[a[S].type,r,S],L=[g,h];return Jn(e,..._,...L)},...Ur([...O,...Object.getOwnPropertyNames(T)])})}}function pp(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var dp=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],fp=["aggregate","count","groupBy"];function Gn(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[mp(e,t),hp(e,t),Ht(r),ne("name",()=>t),ne("$name",()=>t),ne("$parent",()=>e._appliedParent)];return ge({},n)}function mp(e,t){let r=Pe(t),n=Object.keys(ct).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let u=$e(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:u};return e._request({...h,...a})},{action:o,args:l,model:t})};return dp.includes(o)?Jn(e,t,s):gp(i)?ss(e,i,s):s({})}}}function gp(e){return fp.includes(e)}function hp(e,t){return He(ne("fields",()=>{let r=e._runtimeDataModel.models[t];return as(t,r)}))}m();c();p();d();f();function cs(e){return e.replace(/^./,t=>t.toUpperCase())}var Wn=Symbol();function Zt(e){let t=[yp(e),wp(e),ne(Wn,()=>e),ne("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(Ht(r)),ge(e,t)}function yp(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function wp(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Pe),n=[...new Set(t.concat(r))];return He({getKeys(){return n},getPropertyValue(i){let o=cs(i);if(e._runtimeDataModel.models[o]!==void 0)return Gn(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Gn(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function ps(e){return e[Wn]?e[Wn]:e}function ds(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$on:{value:void 0}});return Zt(t)}m();c();p();d();f();m();c();p();d();f();function fs({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let u=l.needs.filter(g=>n[g]);u.length>0&&a.push(xt(u))}else if(r){if(!r[l.name])continue;let u=l.needs.filter(g=>!r[g]);u.length>0&&a.push(xt(u))}bp(e,l.needs)&&s.push(xp(l,ge(e,s)))}return s.length>0||a.length>0?ge(e,[...s,...a]):e}function bp(e,t){return t.every(r=>vn(e,r))}function xp(e,t){return He(ne(e.name,()=>e.compute(t)))}m();c();p();d();f();function Gr({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let u=typeof s=="object"?s:{};t[o]=Gr({visitor:i,result:t[o],args:u,modelName:l.type,runtimeDataModel:n})}}function gs({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Gr({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,u)=>{let g=Pe(l);return fs({result:a,modelName:g,select:u.select,omit:u.select?void 0:{...o?.[g],...u.omit},extensions:n})}})}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();var Ep=["$connect","$disconnect","$on","$transaction","$extends"],hs=Ep;function ys(e){if(e instanceof le)return Pp(e);if(Br(e))return vp(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:ys(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=vs(o,l),a.args=s,bs(e,a,r,n+1)}})})}function xs(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return bs(e,t,s)}function Es(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?Ps(r,n,0,e):e(r)}}function Ps(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=vs(i,l),Ps(a,t,r+1,n)}})}var ws=e=>e;function vs(e=ws,t=ws){return r=>e(t(r))}m();c();p();d();f();var Ts=z("prisma:client"),As={Vercel:"vercel","Netlify CI":"netlify"};function Cs({postinstall:e,ciName:t,clientVersion:r,generator:n}){if(Ts("checkPlatformCaching:postinstall",e),Ts("checkPlatformCaching:ciName",t),e===!0&&!(n?.output&&typeof(n.output.fromEnvVar??n.output.value)=="string")&&t&&t in As){let i=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${As[t]}-build`;throw console.error(i),new Q(i,r)}}m();c();p();d();f();function Ss(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();function Rs(e){return e?e.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,t=>`${t[0]}5`):""}m();c();p();d();f();function Os(e){return e.split(` +`).map(t=>t.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/,"").replace(/\+\d+\s*ms$/,"")).join(` +`)}m();c();p();d();f();var ks=Qe(Ki());function Is({title:e,user:t="prisma",repo:r="prisma",template:n="bug_report.yml",body:i}){return(0,ks.default)({user:t,repo:r,template:n,title:e,body:i})}function Fs({version:e,binaryTarget:t,title:r,description:n,engineVersion:i,database:o,query:s}){let a=Mi(6e3-(s?.length??0)),l=Os(ot(a)),u=n?`# Description +\`\`\` +${n} +\`\`\``:"",g=ot(`Hi Prisma Team! My Prisma Client just crashed. This is the report: +## Versions + +| Name | Version | +|-----------------|--------------------| +| Node | ${y.version?.padEnd(19)}| +| OS | ${t?.padEnd(19)}| +| Prisma Client | ${e?.padEnd(19)}| +| Query Engine | ${i?.padEnd(19)}| +| Database | ${o?.padEnd(19)}| + +${u} + +## Logs +\`\`\` +${l} +\`\`\` + +## Client Snippet +\`\`\`ts +// PLEASE FILL YOUR CODE SNIPPET HERE +\`\`\` + +## Schema +\`\`\`prisma +// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE +\`\`\` + +## Prisma Engine Query +\`\`\` +${s?Rs(s):""} +\`\`\` +`),h=Is({title:r,body:g});return`${r} + +This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic. + +${Rt(h)} + +If you want the Prisma team to look into it, please open the link above \u{1F64F} +To increase the chance of success, please post your schema and a snippet of +how you used Prisma Client in the issue. +`}m();c();p();d();f();m();c();p();d();f();m();c();p();d();f();function Ms(e,t){throw new Error(t)}function Tp(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function Ap(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}function Pt(e){return e===null?e:Array.isArray(e)?e.map(Pt):typeof e=="object"?Tp(e)?Cp(e):e.constructor!==null&&e.constructor.name!=="Object"?e:Ap(e,Pt):e}function Cp({$type:e,value:t}){switch(e){case"BigInt":return BigInt(t);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=w.Buffer.from(t,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(t);case"Decimal":return new Ie(t);case"Json":return JSON.parse(t);default:Ms(t,"Unknown tagged value")}}var _s="6.19.2";m();c();p();d();f();m();c();p();d();f();var Rp=()=>globalThis.process?.release?.name==="node",Op=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,kp=()=>!!globalThis.Deno,Ip=()=>typeof globalThis.Netlify=="object",Fp=()=>typeof globalThis.EdgeRuntime=="object",Mp=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function _p(){return[[Ip,"netlify"],[Fp,"edge-light"],[Mp,"workerd"],[kp,"deno"],[Op,"bun"],[Rp,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Dp={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Ds(){let e=_p();return{id:e,prettyName:Dp[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}function Wr({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new Q(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new Q("error: Missing URL environment variable, value, or override.",n);return i}m();c();p();d();f();m();c();p();d();f();function Ls(e){if(e?.kind==="itx")return e.options.id}m();c();p();d();f();var Kn=class{engineObject;constructor(t,r,n){this.engineObject=__PrismaProxy.create({datamodel:t.datamodel,env:y.env,ignoreEnvVarErrors:!0,datasourceOverrides:t.datasourceOverrides??{},logLevel:t.logLevel,logQueries:t.logQueries??!1,logCallback:r,enableTracing:t.enableTracing})}async connect(t,r){return __PrismaProxy.connect(this.engineObject,t,r)}async disconnect(t,r){return __PrismaProxy.disconnect(this.engineObject,t,r)}query(t,r,n,i){return __PrismaProxy.execute(this.engineObject,t,r,n,i)}compile(){throw new Error("not implemented")}sdlSchema(){return Promise.resolve("{}")}dmmf(t){return Promise.resolve("{}")}async startTransaction(t,r,n){return __PrismaProxy.startTransaction(this.engineObject,t,r,n)}async commitTransaction(t,r,n){return __PrismaProxy.commitTransaction(this.engineObject,t,r,n)}async rollbackTransaction(t,r,n){return __PrismaProxy.rollbackTransaction(this.engineObject,t,r,n)}metrics(t){return Promise.resolve("{}")}async applyPendingMigrations(){return __PrismaProxy.applyPendingMigrations(this.engineObject)}trace(t){return __PrismaProxy.trace(this.engineObject,t)}},Ns={async loadLibrary(e){if(!__PrismaProxy)throw new Q("__PrismaProxy not detected make sure React Native bindings are installed",e.clientVersion);return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:Kn}}};var Lp="P2036",Te=z("prisma:client:libraryEngine");function Np(e){return e.item_type==="query"&&"query"in e}function qp(e){return"level"in e?e.level==="error"&&e.message==="PANIC":!1}var TO=[...fn,"native"],Bp=0xffffffffffffffffn,zn=1n;function jp(){let e=zn++;return zn>Bp&&(zn=1n),e}var er=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(t,r){this.libraryLoader=Ns,this.config=t,this.libraryStarted=!1,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(t.overrideDatasources)[0],i=t.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(t){return{applyPendingMigrations:t.applyPendingMigrations?.bind(t),commitTransaction:this.withRequestId(t.commitTransaction.bind(t)),connect:this.withRequestId(t.connect.bind(t)),disconnect:this.withRequestId(t.disconnect.bind(t)),metrics:t.metrics?.bind(t),query:this.withRequestId(t.query.bind(t)),rollbackTransaction:this.withRequestId(t.rollbackTransaction.bind(t)),sdlSchema:t.sdlSchema?.bind(t),startTransaction:this.withRequestId(t.startTransaction.bind(t)),trace:t.trace.bind(t),free:t.free?.bind(t)}}withRequestId(t){return async(...r)=>{let n=jp().toString();try{return await t(...r,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){await this.start(),await this.engine?.applyPendingMigrations()}async transaction(t,r,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(r),s;if(t==="start"){let l=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(l,o)}else t==="commit"?s=await this.engine?.commitTransaction(n.id,o):t==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if($p(a)){let l=this.getExternalAdapterError(a,i?.errorRegistry);throw l?l.error:new se(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new G(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(Te("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){}parseEngineResponse(t){if(!t)throw new G("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(t)}catch{throw new G("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let t=new b(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(lr));let r=await this.adapterPromise;r&&Te("Using driver adapter: %O",r),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:y.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{t.deref()?.logger(n)},r))}catch(t){let r=t,n=this.parseInitError(r.message);throw typeof n=="string"?r:new Q(n.message,this.config.clientVersion,n.error_code)}}}logger(t){let r=this.parseEngineResponse(t);r&&(r.level=r?.level.toLowerCase()??"unknown",Np(r)?this.logEmitter.emit("query",{timestamp:new Date,query:r.query,params:r.params,duration:Number(r.duration_ms),target:r.module_path}):qp(r)?this.loggerRustPanic=new ce(Hn(this,`${r.message}: ${r.reason} in ${r.file}:${r.line}:${r.column}`),this.config.clientVersion):this.logEmitter.emit(r.level,{timestamp:new Date,message:r.message,target:r.module_path}))}parseInitError(t){try{return JSON.parse(t)}catch{}return t}parseRequestError(t){try{return JSON.parse(t)}catch{}return t}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(this.libraryInstantiationPromise||(this.libraryInstantiationPromise=this.instantiateLibrary()),await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return Te(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let t=async()=>{Te("library starting");try{let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(r)),this.libraryStarted=!0,this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(lr)),await this.adapterPromise,Te("library started")}catch(r){let n=this.parseInitError(r.message);throw typeof n=="string"?r:new Q(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",t),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return Te("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted){await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0;return}let t=async()=>{await new Promise(n=>setImmediate(n)),Te("library stopping");let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(r)),this.engine?.free&&this.engine.free(),this.engine=void 0,this.libraryStarted=!1,this.libraryStoppingPromise=void 0,this.libraryInstantiationPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,Te("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",t),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(t){return this.library?.debugPanic(t)}async request(t,{traceparent:r,interactiveTransaction:n}){Te(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:r}),o=JSON.stringify(t);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new G(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof Q)throw s;if(s.code==="GenericFailure"&&s.message?.startsWith("PANIC:"))throw new ce(Hn(this,s.message),this.config.clientVersion);let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new G(`${a.message} +${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(t,{transaction:r,traceparent:n}){Te("requestBatch");let i=Vr(t,r);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine?.query(this.lastQuery,JSON.stringify({traceparent:n}),Ls(r));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new G(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:l,errors:u}=a;if(Array.isArray(l))return l.map(g=>g.errors&&g.errors.length>0?this.loggerRustPanic??this.buildQueryError(g.errors[0],o?.errorRegistry):{data:g});throw u&&u.length===1?new Error(u[0].error):new Error(JSON.stringify(a))}buildQueryError(t,r){if(t.user_facing_error.is_panic)return new ce(Hn(this,t.user_facing_error.message),this.config.clientVersion);let n=this.getExternalAdapterError(t.user_facing_error,r);return n?n.error:Qr(t,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(t,r){if(t.error_code===Lp&&r){let n=t.meta?.id;ur(typeof n=="number","Malformed external JS error received from the engine");let i=r.consumeError(n);return ur(i,"External error with reported id was not registered"),i}}async metrics(t){await this.start();let r=await this.engine.metrics(JSON.stringify(t));return t.format==="prometheus"?r:this.parseEngineResponse(r)}};function $p(e){return typeof e=="object"&&e!==null&&e.error_code!==void 0}function Hn(e,t){return Fs({binaryTarget:e.binaryTarget,title:t,version:e.config.clientVersion,engineVersion:e.versionInfo?.commit,database:e.config.activeProvider,query:e.lastQuery})}m();c();p();d();f();function qs({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=S=>{i.push({_tag:"warning",value:S})},a=S=>{let F=S.join(` +`);o.push({_tag:"error",value:F})},l=!!e?.startsWith("prisma://"),u=bn(e),g=!!t,h=l||u;!g&&r&&h&&n!=="client"&&n!=="wasm-compiler-edge"&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let T=h||!r;g&&(T||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):h?a(["You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.","Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter."]):r||a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let O={accelerate:T,ppg:u,driverAdapters:g};function C(S){return S.length>0}return C(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:O}:{ok:!0,diagnostics:{warnings:i},isUsing:O}}function Bs({copyEngine:e=!0},t){let r;try{r=Wr({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=qs({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"react-native"});for(let h of o.warnings)Lt(...h.value);if(!n){let h=o.errors[0];throw new te(h.value,{clientVersion:t.clientVersion})}let s=it(t.generator),a=s==="library",l=s==="binary",u=s==="client",g=(i.accelerate||i.ppg)&&!i.driverAdapters;return new er(t)}m();c();p();d();f();function js({generator:e}){return e?.previewFeatures??[]}m();c();p();d();f();var $s=e=>({command:e});m();c();p();d();f();m();c();p();d();f();var Us=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);m();c();p();d();f();function vt(e){try{return Vs(e,"fast")}catch{return Vs(e,"slow")}}function Vs(e,t){return JSON.stringify(e.map(r=>Js(r,t)))}function Js(e,t){if(Array.isArray(e))return e.map(r=>Js(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(st(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(Fe.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Up(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Gs(e):e}function Up(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Gs(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Qs);let t={};for(let r of Object.keys(e))t[r]=Qs(e[r]);return t}function Qs(e){return typeof e=="bigint"?e.toString():Gs(e)}var Vp=/^(\s*alter\s)/i,Ws=z("prisma:client");function Yn(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&Vp.exec(t))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var Zn=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Br(r))n=r.sql,i={values:vt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:vt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:vt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:vt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Us(r),i={values:vt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Ws(`prisma.${e}(${n}, ${i.values})`):Ws(`prisma.${e}(${n})`),{query:n,parameters:i}},Ks={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new le(t,r)}},zs={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};m();c();p();d();f();function Xn(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Hs(r(s)):Hs(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Hs(e){return typeof e.then=="function"?e:Promise.resolve(e)}m();c();p();d();f();var Qp=mn.split(".")[0],Jp={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},ei=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${Qp}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??Jp}};function Ys(){return new ei}m();c();p();d();f();function Zs(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}m();c();p();d();f();function Xs(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}m();c();p();d();f();m();c();p();d();f();function Kr(e){return typeof e.batchRequestIdx=="number"}m();c();p();d();f();function ea(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(ti(e.query.arguments)),t.push(ti(e.query.selection)),t.join("")}function ti(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${ti(n)})`:r}).join(" ")})`}m();c();p();d();f();var Gp={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function ri(e){return Gp[e]}m();c();p();d();f();var zr=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iYe("bigint",r));case"bytes-array":return t.map(r=>Ye("bytes",r));case"decimal-array":return t.map(r=>Ye("decimal",r));case"datetime-array":return t.map(r=>Ye("datetime",r));case"date-array":return t.map(r=>Ye("date",r));case"time-array":return t.map(r=>Ye("time",r));default:return t}}function Hr(e){let t=[],r=Wp(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),u=n.some(h=>ri(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:zp(o),containsWrite:u,customDataProxyFetch:i})).map((h,T)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[T],h)}catch(O){return O}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?ta(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:ri(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:ea(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Kp(t),Hp(t,i))throw t;if(t instanceof se&&Yp(t)){let u=ra(t.meta);Mr({args:o,errors:[u],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=vr({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let u=s?{modelName:s,...t.meta}:t.meta;throw new se(l,{code:t.code,clientVersion:this.client._clientVersion,meta:u,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new ce(l,this.client._clientVersion);if(t instanceof G)throw new G(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof Q)throw new Q(l,this.client._clientVersion);if(t instanceof ce)throw new ce(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?ot(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(u=>u!=="select"&&u!=="include"),a=Qn(o,s),l=i==="queryRaw"?Hr(a):Pt(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function zp(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:ta(e)};ze(e,"Unknown transaction kind")}}function ta(e){return{id:e.id,payload:e.payload}}function Hp(e,t){return Kr(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function Yp(e){return e.code==="P2009"||e.code==="P2012"}function ra(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(ra)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}m();c();p();d();f();var na=_s;m();c();p();d();f();var la=Qe(In());m();c();p();d();f();var j=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};ue(j,"PrismaClientConstructorValidationError");var ia=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],oa=["pretty","colorless","minimal"],sa=["info","query","warn","error"],Zp={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new j(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=Tt(r,t)||` Available datasources: ${t.join(", ")}`;throw new j(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new j(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new j(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new j(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&it(t.generator)==="client")throw new j('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e!==null){if(e===void 0)throw new j('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(it(t.generator)==="binary")throw new j('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')}},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new j(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new j(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!oa.includes(e)){let t=Tt(e,oa);throw new j(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new j(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!sa.includes(r)){let n=Tt(r,sa);throw new j(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=Tt(i,o);throw new j(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new j(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new j(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new j(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new j('"omit" option is expected to be an object.');if(e===null)throw new j('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=ed(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(u=>u.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new j(td(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new j(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=Tt(r,t);throw new j(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function ua(e,t){for(let[r,n]of Object.entries(e)){if(!ia.includes(r)){let i=Tt(r,ia);throw new j(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}Zp[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new j('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function Tt(e,t){if(t.length===0||typeof e!="string")return"";let r=Xp(e,t);return r?` Did you mean "${r}"?`:""}function Xp(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,la.default)(e,i)}));r.sort((i,o)=>i.distanceDe(n)===t);if(r)return e[r]}function td(e,t){let r=yt(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Fr(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}m();c();p();d();f();function ca(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=u=>{o||(o=!0,r(u))};for(let u=0;u{n[u]=g,a()},g=>{if(!Kr(g)){l(g);return}g.batchRequestIdx===u?l(g):(i||(i=g),a())})})}var Ue=z("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var rd={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},nd=Symbol.for("prisma.client.transaction.id"),id={id:0,nextId(){return++this.id}};function fa(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Xn();constructor(n){e=n?.__internal?.configOverride?.(e)??e,Cs(e),n&&ua(n,e);let i=new jr().on("error",()=>{});this._extensions=wt.empty(),this._previewFeatures=js(e),this._clientVersion=e.clientVersion??na,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Ys();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&Re.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&Re.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==l)throw new Q(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new Q("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},u=l.__internal??{},g=u.debug===!0;g&&z.enable("prisma:client");let h=Re.resolve(e.dirname,e.relativePath);sr.existsSync(h)||(h=e.dirname),Ue("dirname",e.dirname),Ue("relativePath",e.relativePath),Ue("cwd",h);let T=u.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:T.allowTriggerPanic,prismaPath:T.binaryPath??void 0,engineEndpoint:T.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&Xs(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(O=>typeof O=="string"?O==="query":O.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Ss(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:Wr,getBatchRequestPayload:Vr,prismaGraphQLToJSError:Qr,PrismaClientUnknownRequestError:G,PrismaClientInitializationError:Q,PrismaClientKnownRequestError:se,debug:z("prisma:client:accelerateEngine"),engineVersion:da.version,clientVersion:e.clientVersion}},Ue("clientVersion",e.clientVersion),this._engine=Bs(e,this._engineConfig),this._requestHandler=new Yr(this,i),l.log)for(let O of l.log){let C=typeof O=="string"?O:O.emit==="stdout"?O.level:null;C&&this.$on(C,S=>{Dt.log(`${Dt.tags[C]??""}`,S.message||S.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Zt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{_i()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:Zn({clientMethod:i,activeProvider:a}),callsite:$e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=pa(n,i);return Yn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new te("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Yn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new te(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:$s,callsite:$e(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:Zn({clientMethod:i,activeProvider:a}),callsite:$e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...pa(n,i));throw new te("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new te("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=id.nextId(),s=Zs(n.length),a=n.map((l,u)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:u,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return ca(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let u={kind:"itx",...a};l=await n(this._createItxClient(u)),await this._engine.transaction("commit",o,a)}catch(u){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),u}return l}_createItxClient(n){return ge(Zt(ge(ps(this),[ne("_appliedParent",()=>this._appliedParent._createItxClient(n)),ne("_createPrismaPromise",()=>Xn(n)),ne(nd,()=>n.id)])),[xt(hs)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??rd,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=async l=>{let{runInTransaction:u,args:g,...h}=l,T={...n,...h};g&&(T.args=i.middlewareArgsToRequestArgs(g)),n.transaction!==void 0&&u===!1&&delete T.transaction;let O=await xs(this,T);return T.model?gs({result:O,modelName:T.model,args:T.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):O};return this._tracingHelper.runInChildSpan(s.operation,()=>a(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:u,transaction:g,unpacker:h,otelParentCtx:T,customDataProxyFetch:O}){try{n=u?u(n):n;let C={name:"serialize"},S=this._tracingHelper.runInChildSpan(C,()=>Nr({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return z.enabled("prisma:client")&&(Ue("Prisma Client call:"),Ue(`prisma.${i}(${es(n)})`),Ue("Generated request:"),Ue(JSON.stringify(S,null,2)+` +`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:S,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:T,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:O})}catch(C){throw C.clientVersion=this._clientVersion,C}}$metrics=new bt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=ds}return t}function pa(e,t){return od(e)?[new le(e,t),Ks]:[e,zs]}function od(e){return Array.isArray(e)&&Array.isArray(e.raw)}m();c();p();d();f();var sd=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function ma(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!sd.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}m();c();p();d();f();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +//# sourceMappingURL=react-native.js.map diff --git a/packages/member-prisma-client/runtime/wasm-compiler-edge.js b/packages/member-prisma-client/runtime/wasm-compiler-edge.js new file mode 100644 index 0000000..7a7f5df --- /dev/null +++ b/packages/member-prisma-client/runtime/wasm-compiler-edge.js @@ -0,0 +1,85 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +"use strict";var ou=Object.create;var Kr=Object.defineProperty;var su=Object.getOwnPropertyDescriptor;var au=Object.getOwnPropertyNames;var lu=Object.getPrototypeOf,cu=Object.prototype.hasOwnProperty;var ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var me=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),pt=(e,t)=>{for(var r in t)Kr(e,r,{get:t[r],enumerable:!0})},Vo=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of au(t))!cu.call(e,i)&&i!==r&&Kr(e,i,{get:()=>t[i],enumerable:!(n=su(t,i))||n.enumerable});return e};var $e=(e,t,r)=>(r=e!=null?ou(lu(e)):{},Vo(t||!e||!e.__esModule?Kr(r,"default",{value:e,enumerable:!0}):r,e)),qo=e=>Vo(Kr({},"__esModule",{value:!0}),e);function ui(e,t){if(t=t.toLowerCase(),t==="utf8"||t==="utf-8")return new h(du.encode(e));if(t==="base64"||t==="base64url")return e=e.replace(/-/g,"+").replace(/_/g,"/"),e=e.replace(/[^A-Za-z0-9+/]/g,""),new h([...atob(e)].map(r=>r.charCodeAt(0)));if(t==="binary"||t==="ascii"||t==="latin1"||t==="latin-1")return new h([...e].map(r=>r.charCodeAt(0)));if(t==="ucs2"||t==="ucs-2"||t==="utf16le"||t==="utf-16le"){let r=new h(e.length*2),n=new DataView(r.buffer);for(let i=0;ia.startsWith("get")||a.startsWith("set")),n=r.map(a=>a.replace("get","read").replace("set","write")),i=(a,f)=>function(w=0){return Y(w,"offset"),de(w,"offset"),ee(w,"offset",this.length-1),new DataView(this.buffer)[r[a]](w,f)},o=(a,f)=>function(w,A=0){let R=r[a].match(/set(\w+\d+)/)[1].toLowerCase(),S=mu[R];return Y(A,"offset"),de(A,"offset"),ee(A,"offset",this.length-1),pu(w,"value",S[0],S[1]),new DataView(this.buffer)[r[a]](A,w,f),A+parseInt(r[a].match(/\d+/)[0])/8},s=a=>{a.forEach(f=>{f.includes("Uint")&&(e[f.replace("Uint","UInt")]=e[f]),f.includes("Float64")&&(e[f.replace("Float64","Double")]=e[f]),f.includes("Float32")&&(e[f.replace("Float32","Float")]=e[f])})};n.forEach((a,f)=>{a.startsWith("read")&&(e[a]=i(f,!1),e[a+"LE"]=i(f,!0),e[a+"BE"]=i(f,!1)),a.startsWith("write")&&(e[a]=o(f,!1),e[a+"LE"]=o(f,!0),e[a+"BE"]=o(f,!1)),s([a,a+"LE",a+"BE"])})}function jo(e){throw new Error(`Buffer polyfill does not implement "${e}"`)}function zr(e,t){if(!(e instanceof Uint8Array))throw new TypeError(`The "${t}" argument must be an instance of Buffer or Uint8Array`)}function ee(e,t,r=yu+1){if(e<0||e>r){let n=new RangeError(`The value of "${t}" is out of range. It must be >= 0 && <= ${r}. Received ${e}`);throw n.code="ERR_OUT_OF_RANGE",n}}function Y(e,t){if(typeof e!="number"){let r=new TypeError(`The "${t}" argument must be of type number. Received type ${typeof e}.`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function de(e,t){if(!Number.isInteger(e)||Number.isNaN(e)){let r=new RangeError(`The value of "${t}" is out of range. It must be an integer. Received ${e}`);throw r.code="ERR_OUT_OF_RANGE",r}}function pu(e,t,r,n){if(en){let i=new RangeError(`The value of "${t}" is out of range. It must be >= ${r} and <= ${n}. Received ${e}`);throw i.code="ERR_OUT_OF_RANGE",i}}function Bo(e,t){if(typeof e!="string"){let r=new TypeError(`The "${t}" argument must be of type string. Received type ${typeof e}`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function hu(e,t="utf8"){return h.from(e,t)}var h,mu,du,fu,gu,yu,y,pi,c=ye(()=>{"use strict";h=class e extends Uint8Array{_isBuffer=!0;get offset(){return this.byteOffset}static alloc(t,r=0,n="utf8"){return Bo(n,"encoding"),e.allocUnsafe(t).fill(r,n)}static allocUnsafe(t){return e.from(t)}static allocUnsafeSlow(t){return e.from(t)}static isBuffer(t){return t&&!!t._isBuffer}static byteLength(t,r="utf8"){if(typeof t=="string")return ui(t,r).byteLength;if(t&&t.byteLength)return t.byteLength;let n=new TypeError('The "string" argument must be of type string or an instance of Buffer or ArrayBuffer.');throw n.code="ERR_INVALID_ARG_TYPE",n}static isEncoding(t){return gu.includes(t)}static compare(t,r){zr(t,"buff1"),zr(r,"buff2");for(let n=0;nr[n])return 1}return t.length===r.length?0:t.length>r.length?1:-1}static from(t,r="utf8"){if(t&&typeof t=="object"&&t.type==="Buffer")return new e(t.data);if(typeof t=="number")return new e(new Uint8Array(t));if(typeof t=="string")return ui(t,r);if(ArrayBuffer.isView(t)){let{byteOffset:n,byteLength:i,buffer:o}=t;return"map"in t&&typeof t.map=="function"?new e(t.map(s=>s%256),n,i):new e(o,n,i)}if(t&&typeof t=="object"&&("length"in t||"byteLength"in t||"buffer"in t))return new e(t);throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}static concat(t,r){if(t.length===0)return e.alloc(0);let n=[].concat(...t.map(o=>[...o])),i=e.alloc(r!==void 0?r:n.length);return i.set(r!==void 0?n.slice(0,r):n),i}slice(t=0,r=this.length){return this.subarray(t,r)}subarray(t=0,r=this.length){return Object.setPrototypeOf(super.subarray(t,r),e.prototype)}reverse(){return super.reverse(),this}readIntBE(t,r){Y(t,"offset"),de(t,"offset"),ee(t,"offset",this.length-1),Y(r,"byteLength"),de(r,"byteLength");let n=new DataView(this.buffer,t,r),i=0;for(let o=0;o=0;o--)i.setUint8(o,t&255),t=t/256;return r+n}writeUintBE(t,r,n){return this.writeUIntBE(t,r,n)}writeUIntLE(t,r,n){Y(r,"offset"),de(r,"offset"),ee(r,"offset",this.length-1),Y(n,"byteLength"),de(n,"byteLength");let i=new DataView(this.buffer,r,n);for(let o=0;or===t[n])}copy(t,r=0,n=0,i=this.length){ee(r,"targetStart"),ee(n,"sourceStart",this.length),ee(i,"sourceEnd"),r>>>=0,n>>>=0,i>>>=0;let o=0;for(;n=this.length?this.length-a:t.length),a);return this}includes(t,r=null,n="utf-8"){return this.indexOf(t,r,n)!==-1}lastIndexOf(t,r=null,n="utf-8"){return this.indexOf(t,r,n,!0)}indexOf(t,r=null,n="utf-8",i=!1){let o=i?this.findLastIndex.bind(this):this.findIndex.bind(this);n=typeof r=="string"?r:n;let s=e.from(typeof t=="number"?[t]:t,n),a=typeof r=="string"?0:r;return a=typeof r=="number"?a:null,a=Number.isNaN(a)?null:a,a??=i?this.length:0,a=a<0?this.length+a:a,s.length===0&&i===!1?a>=this.length?this.length:a:s.length===0&&i===!0?(a>=this.length?this.length:a)||this.length:o((f,w)=>(i?w<=a:w>=a)&&this[w]===s[0]&&s.every((R,S)=>this[w+S]===R))}toString(t="utf8",r=0,n=this.length){if(r=r<0?0:r,t=t.toString().toLowerCase(),n<=0)return"";if(t==="utf8"||t==="utf-8")return fu.decode(this.slice(r,n));if(t==="base64"||t==="base64url"){let i=btoa(this.reduce((o,s)=>o+pi(s),""));return t==="base64url"?i.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):i}if(t==="binary"||t==="ascii"||t==="latin1"||t==="latin-1")return this.slice(r,n).reduce((i,o)=>i+pi(o&(t==="ascii"?127:255)),"");if(t==="ucs2"||t==="ucs-2"||t==="utf16le"||t==="utf-16le"){let i=new DataView(this.buffer.slice(r,n));return Array.from({length:i.byteLength/2},(o,s)=>s*2+1i+o.toString(16).padStart(2,"0"),"");jo(`encoding "${t}"`)}toLocaleString(){return this.toString()}inspect(){return``}};mu={int8:[-128,127],int16:[-32768,32767],int32:[-2147483648,2147483647],uint8:[0,255],uint16:[0,65535],uint32:[0,4294967295],float32:[-1/0,1/0],float64:[-1/0,1/0],bigint64:[-0x8000000000000000n,0x7fffffffffffffffn],biguint64:[0n,0xffffffffffffffffn]},du=new TextEncoder,fu=new TextDecoder,gu=["utf8","utf-8","hex","base64","ascii","binary","base64url","ucs2","ucs-2","utf16le","utf-16le","latin1","latin-1"],yu=4294967295;uu(h.prototype);y=new Proxy(hu,{construct(e,[t,r]){return h.from(t,r)},get(e,t){return h[t]}}),pi=String.fromCodePoint});var g,x,u=ye(()=>{"use strict";g={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4},{cwd:x}=g});var b,p=ye(()=>{"use strict";b=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,m=ye(()=>{"use strict";E=()=>{};E.prototype=E});var d=ye(()=>{"use strict"});function Jo(e,t){var r,n,i,o,s,a,f,w,A=e.constructor,R=A.precision;if(!e.s||!t.s)return t.s||(t=new A(e)),W?q(t,R):t;if(f=e.d,w=t.d,s=e.e,i=t.e,f=f.slice(),o=s-i,o){for(o<0?(n=f,o=-o,a=w.length):(n=w,i=s,a=f.length),s=Math.ceil(R/H),a=s>a?s+1:a+1,o>a&&(o=a,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(a=f.length,o=w.length,a-o<0&&(o=a,n=w,w=f,f=n),r=0;o;)r=(f[--o]=f[o]+w[o]+r)/te|0,f[o]%=te;for(r&&(f.unshift(r),++i),a=f.length;f[--a]==0;)f.pop();return t.d=f,t.e=i,W?q(t,R):t}function Re(e,t,r){if(e!==~~e||er)throw Error(Ye+e)}function Ae(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t16)throw Error(di+Z(e));if(!e.s)return new A(he);for(t==null?(W=!1,a=R):a=t,s=new A(.03125);e.abs().gte(.1);)e=e.times(s),w+=5;for(n=Math.log(ze(2,w))/Math.LN10*2+5|0,a+=n,r=i=o=new A(he),A.precision=a;;){if(i=q(i.times(e),a),r=r.times(++f),s=o.plus(_e(i,r,a)),Ae(s.d).slice(0,a)===Ae(o.d).slice(0,a)){for(;w--;)o=q(o.times(o),a);return A.precision=R,t==null?(W=!0,q(o,R)):o}o=s}}function Z(e){for(var t=e.e*H,r=e.d[0];r>=10;r/=10)t++;return t}function mi(e,t,r){if(t>e.LN10.sd())throw W=!0,r&&(e.precision=r),Error(be+"LN10 precision limit exceeded");return q(new e(e.LN10),t)}function Ve(e){for(var t="";e--;)t+="0";return t}function Kt(e,t){var r,n,i,o,s,a,f,w,A,R=1,S=10,C=e,L=C.d,k=C.constructor,M=k.precision;if(C.s<1)throw Error(be+(C.s?"NaN":"-Infinity"));if(C.eq(he))return new k(0);if(t==null?(W=!1,w=M):w=t,C.eq(10))return t==null&&(W=!0),mi(k,w);if(w+=S,k.precision=w,r=Ae(L),n=r.charAt(0),o=Z(C),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)C=C.times(e),r=Ae(C.d),n=r.charAt(0),R++;o=Z(C),n>1?(C=new k("0."+r),o++):C=new k(n+"."+r.slice(1))}else return f=mi(k,w+2,M).times(o+""),C=Kt(new k(n+"."+r.slice(1)),w-S).plus(f),k.precision=M,t==null?(W=!0,q(C,M)):C;for(a=s=C=_e(C.minus(he),C.plus(he),w),A=q(C.times(C),w),i=3;;){if(s=q(s.times(A),w),f=a.plus(_e(s,new k(i),w)),Ae(f.d).slice(0,w)===Ae(a.d).slice(0,w))return a=a.times(2),o!==0&&(a=a.plus(mi(k,w+2,M).times(o+""))),a=_e(a,new k(R),w),k.precision=M,t==null?(W=!0,q(a,M)):a;a=f,i+=2}}function Qo(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=dt(r/H),e.d=[],n=(r+1)%H,r<0&&(n+=H),nYr||e.e<-Yr))throw Error(di+r)}else e.s=0,e.e=0,e.d=[0];return e}function q(e,t,r){var n,i,o,s,a,f,w,A,R=e.d;for(s=1,o=R[0];o>=10;o/=10)s++;if(n=t-s,n<0)n+=H,i=t,w=R[A=0];else{if(A=Math.ceil((n+1)/H),o=R.length,A>=o)return e;for(w=o=R[A],s=1;o>=10;o/=10)s++;n%=H,i=n-H+s}if(r!==void 0&&(o=ze(10,s-i-1),a=w/o%10|0,f=t<0||R[A+1]!==void 0||w%o,f=r<4?(a||f)&&(r==0||r==(e.s<0?3:2)):a>5||a==5&&(r==4||f||r==6&&(n>0?i>0?w/ze(10,s-i):0:R[A-1])%10&1||r==(e.s<0?8:7))),t<1||!R[0])return f?(o=Z(e),R.length=1,t=t-o-1,R[0]=ze(10,(H-t%H)%H),e.e=dt(-t/H)||0):(R.length=1,R[0]=e.e=e.s=0),e;if(n==0?(R.length=A,o=1,A--):(R.length=A+1,o=ze(10,H-n),R[A]=i>0?(w/ze(10,s-i)%ze(10,i)|0)*o:0),f)for(;;)if(A==0){(R[0]+=o)==te&&(R[0]=1,++e.e);break}else{if(R[A]+=o,R[A]!=te)break;R[A--]=0,o=1}for(n=R.length;R[--n]===0;)R.pop();if(W&&(e.e>Yr||e.e<-Yr))throw Error(di+Z(e));return e}function Ko(e,t){var r,n,i,o,s,a,f,w,A,R,S=e.constructor,C=S.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new S(e),W?q(t,C):t;if(f=e.d,R=t.d,n=t.e,w=e.e,f=f.slice(),s=w-n,s){for(A=s<0,A?(r=f,s=-s,a=R.length):(r=R,n=w,a=f.length),i=Math.max(Math.ceil(C/H),a)+2,s>i&&(s=i,r.length=1),r.reverse(),i=s;i--;)r.push(0);r.reverse()}else{for(i=f.length,a=R.length,A=i0;--i)f[a++]=0;for(i=R.length;i>s;){if(f[--i]0?o=o.charAt(0)+"."+o.slice(1)+Ve(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Ve(-i-1)+o,r&&(n=r-s)>0&&(o+=Ve(n))):i>=s?(o+=Ve(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Ve(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Ve(n))),e.s<0?"-"+o:o}function Ho(e,t){if(e.length>t)return e.length=t,!0}function zo(e){var t,r,n;function i(o){var s=this;if(!(s instanceof i))return new i(o);if(s.constructor=i,o instanceof i){s.s=o.s,s.e=o.e,s.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(Ye+o);if(o>0)s.s=1;else if(o<0)o=-o,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(o===~~o&&o<1e7){s.e=0,s.d=[o];return}return Qo(s,o.toString())}else if(typeof o!="string")throw Error(Ye+o);if(o.charCodeAt(0)===45?(o=o.slice(1),s.s=-1):s.s=1,bu.test(o))Qo(s,o);else throw Error(Ye+o)}if(i.prototype=I,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=zo,i.config=i.set=Eu,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(Ye+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(Ye+r+": "+n);return this}var mt,wu,fi,W,be,Ye,di,dt,ze,bu,he,te,H,Go,Yr,I,_e,fi,Zr,Yo=ye(()=>{"use strict";c();u();p();m();d();l();mt=1e9,wu={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},W=!0,be="[DecimalError] ",Ye=be+"Invalid argument: ",di=be+"Exponent out of range: ",dt=Math.floor,ze=Math.pow,bu=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,te=1e7,H=7,Go=9007199254740991,Yr=dt(Go/H),I={};I.absoluteValue=I.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e};I.comparedTo=I.cmp=function(e){var t,r,n,i,o=this;if(e=new o.constructor(e),o.s!==e.s)return o.s||-e.s;if(o.e!==e.e)return o.e>e.e^o.s<0?1:-1;for(n=o.d.length,i=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};I.decimalPlaces=I.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*H;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};I.dividedBy=I.div=function(e){return _e(this,new this.constructor(e))};I.dividedToIntegerBy=I.idiv=function(e){var t=this,r=t.constructor;return q(_e(t,new r(e),0,1),r.precision)};I.equals=I.eq=function(e){return!this.cmp(e)};I.exponent=function(){return Z(this)};I.greaterThan=I.gt=function(e){return this.cmp(e)>0};I.greaterThanOrEqualTo=I.gte=function(e){return this.cmp(e)>=0};I.isInteger=I.isint=function(){return this.e>this.d.length-2};I.isNegative=I.isneg=function(){return this.s<0};I.isPositive=I.ispos=function(){return this.s>0};I.isZero=function(){return this.s===0};I.lessThan=I.lt=function(e){return this.cmp(e)<0};I.lessThanOrEqualTo=I.lte=function(e){return this.cmp(e)<1};I.logarithm=I.log=function(e){var t,r=this,n=r.constructor,i=n.precision,o=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(he))throw Error(be+"NaN");if(r.s<1)throw Error(be+(r.s?"NaN":"-Infinity"));return r.eq(he)?new n(0):(W=!1,t=_e(Kt(r,o),Kt(e,o),o),W=!0,q(t,i))};I.minus=I.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Ko(t,e):Jo(t,(e.s=-e.s,e))};I.modulo=I.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(be+"NaN");return r.s?(W=!1,t=_e(r,e,0,1).times(e),W=!0,r.minus(t)):q(new n(r),i)};I.naturalExponential=I.exp=function(){return Wo(this)};I.naturalLogarithm=I.ln=function(){return Kt(this)};I.negated=I.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};I.plus=I.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Jo(t,e):Ko(t,(e.s=-e.s,e))};I.precision=I.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ye+e);if(t=Z(i)+1,n=i.d.length-1,r=n*H+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};I.squareRoot=I.sqrt=function(){var e,t,r,n,i,o,s,a=this,f=a.constructor;if(a.s<1){if(!a.s)return new f(0);throw Error(be+"NaN")}for(e=Z(a),W=!1,i=Math.sqrt(+a),i==0||i==1/0?(t=Ae(a.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=dt((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new f(t)):n=new f(i.toString()),r=f.precision,i=s=r+3;;)if(o=n,n=o.plus(_e(a,o,s+2)).times(.5),Ae(o.d).slice(0,s)===(t=Ae(n.d)).slice(0,s)){if(t=t.slice(s-3,s+1),i==s&&t=="4999"){if(q(o,r+1,0),o.times(o).eq(a)){n=o;break}}else if(t!="9999")break;s+=4}return W=!0,q(n,r)};I.times=I.mul=function(e){var t,r,n,i,o,s,a,f,w,A=this,R=A.constructor,S=A.d,C=(e=new R(e)).d;if(!A.s||!e.s)return new R(0);for(e.s*=A.s,r=A.e+e.e,f=S.length,w=C.length,f=0;){for(t=0,i=f+n;i>n;)a=o[i]+C[n]*S[i-n-1]+t,o[i--]=a%te|0,t=a/te|0;o[i]=(o[i]+t)%te|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,W?q(e,R.precision):e};I.toDecimalPlaces=I.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(Re(e,0,mt),t===void 0?t=n.rounding:Re(t,0,8),q(r,e+Z(r)+1,t))};I.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=Ze(n,!0):(Re(e,0,mt),t===void 0?t=i.rounding:Re(t,0,8),n=q(new i(n),e+1,t),r=Ze(n,!0,e+1)),r};I.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?Ze(i):(Re(e,0,mt),t===void 0?t=o.rounding:Re(t,0,8),n=q(new o(i),e+Z(i)+1,t),r=Ze(n.abs(),!1,e+Z(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};I.toInteger=I.toint=function(){var e=this,t=e.constructor;return q(new t(e),Z(e)+1,t.rounding)};I.toNumber=function(){return+this};I.toPower=I.pow=function(e){var t,r,n,i,o,s,a=this,f=a.constructor,w=12,A=+(e=new f(e));if(!e.s)return new f(he);if(a=new f(a),!a.s){if(e.s<1)throw Error(be+"Infinity");return a}if(a.eq(he))return a;if(n=f.precision,e.eq(he))return q(a,n);if(t=e.e,r=e.d.length-1,s=t>=r,o=a.s,s){if((r=A<0?-A:A)<=Go){for(i=new f(he),t=Math.ceil(n/H+4),W=!1;r%2&&(i=i.times(a),Ho(i.d,t)),r=dt(r/2),r!==0;)a=a.times(a),Ho(a.d,t);return W=!0,e.s<0?new f(he).div(i):q(i,n)}}else if(o<0)throw Error(be+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,a.s=1,W=!1,i=e.times(Kt(a,n+w)),W=!0,i=Wo(i),i.s=o,i};I.toPrecision=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?(r=Z(i),n=Ze(i,r<=o.toExpNeg||r>=o.toExpPos)):(Re(e,1,mt),t===void 0?t=o.rounding:Re(t,0,8),i=q(new o(i),e,t),r=Z(i),n=Ze(i,e<=r||r<=o.toExpNeg,e)),n};I.toSignificantDigits=I.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(Re(e,1,mt),t===void 0?t=n.rounding:Re(t,0,8)),q(new n(r),e,t)};I.toString=I.valueOf=I.val=I.toJSON=I[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Z(e),r=e.constructor;return Ze(e,t<=r.toExpNeg||t>=r.toExpPos)};_e=function(){function e(n,i){var o,s=0,a=n.length;for(n=n.slice();a--;)o=n[a]*i+s,n[a]=o%te|0,s=o/te|0;return s&&n.unshift(s),n}function t(n,i,o,s){var a,f;if(o!=s)f=o>s?1:-1;else for(a=f=0;ai[a]?1:-1;break}return f}function r(n,i,o){for(var s=0;o--;)n[o]-=s,s=n[o]1;)n.shift()}return function(n,i,o,s){var a,f,w,A,R,S,C,L,k,M,De,ue,B,pe,Ke,ci,xe,Jr,Wr=n.constructor,iu=n.s==i.s?1:-1,ve=n.d,z=i.d;if(!n.s)return new Wr(n);if(!i.s)throw Error(be+"Division by zero");for(f=n.e-i.e,xe=z.length,Ke=ve.length,C=new Wr(iu),L=C.d=[],w=0;z[w]==(ve[w]||0);)++w;if(z[w]>(ve[w]||0)&&--f,o==null?ue=o=Wr.precision:s?ue=o+(Z(n)-Z(i))+1:ue=o,ue<0)return new Wr(0);if(ue=ue/H+2|0,w=0,xe==1)for(A=0,z=z[0],ue++;(w1&&(z=e(z,A),ve=e(ve,A),xe=z.length,Ke=ve.length),pe=xe,k=ve.slice(0,xe),M=k.length;M=te/2&&++ci;do A=0,a=t(z,k,xe,M),a<0?(De=k[0],xe!=M&&(De=De*te+(k[1]||0)),A=De/ci|0,A>1?(A>=te&&(A=te-1),R=e(z,A),S=R.length,M=k.length,a=t(R,k,S,M),a==1&&(A--,r(R,xe{"use strict";Yo();v=class extends Zr{static isDecimal(t){return t instanceof Zr}static random(t=20){{let n=globalThis.crypto.getRandomValues(new Uint8Array(t)).reduce((i,o)=>i+o,"");return new Zr(`0.${n.slice(0,t)}`)}}},se=v});function Ru(){return!1}function bi(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function Cu(){return bi()}function Su(){return[]}function Iu(e){e(null,[])}function ku(){return""}function Ou(){return""}function Du(){}function _u(){}function Mu(){}function Nu(){}function Lu(){}function Uu(){}function Fu(){}function $u(){}function Vu(){return{close:()=>{},on:()=>{},removeAllListeners:()=>{}}}function qu(e,t){t(null,bi())}var Bu,ju,fs,gs=ye(()=>{"use strict";c();u();p();m();d();l();Bu={},ju={existsSync:Ru,lstatSync:bi,stat:qu,statSync:Cu,readdirSync:Su,readdir:Iu,readlinkSync:ku,realpathSync:Ou,chmodSync:Du,renameSync:_u,mkdirSync:Mu,rmdirSync:Nu,rmSync:Lu,unlinkSync:Uu,watchFile:Fu,unwatchFile:$u,watch:Vu,promises:Bu},fs=ju});var ys=me(()=>{"use strict";c();u();p();m();d();l()});var hs=me((Vy,Qu)=>{Qu.exports={name:"@prisma/internals",version:"6.19.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-engine-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});function Gu(...e){return e.join("/")}function Ju(...e){return e.join("/")}function Wu(e){let t=ws(e),r=bs(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function ws(e){let t=e.split("/");return t[t.length-1]}function bs(e){return e.split("/").slice(0,-1).join("/")}function zu(e){let t=e.split("/").filter(i=>i!==""&&i!=="."),r=[];for(let i of t)i===".."?r.pop():r.push(i);let n=r.join("/");return e.startsWith("/")?"/"+n:n}var Es,Ku,Yu,Zu,rn,xs=ye(()=>{"use strict";c();u();p();m();d();l();Es="/",Ku=":";Yu={sep:Es},Zu={basename:ws,delimiter:Ku,dirname:bs,join:Ju,normalize:zu,parse:Wu,posix:Yu,resolve:Gu,sep:Es},rn=Zu});var xi={};pt(xi,{Hash:()=>Zt,createHash:()=>Ps,default:()=>yt,randomFillSync:()=>sn,randomUUID:()=>on,webcrypto:()=>Xt});function on(){return globalThis.crypto.randomUUID()}function sn(e,t,r){return t!==void 0&&(r!==void 0?e=e.subarray(t,t+r):e=e.subarray(t)),globalThis.crypto.getRandomValues(e)}function Ps(e){return new Zt(e)}var Xt,Zt,yt,Xe=ye(()=>{"use strict";c();u();p();m();d();l();Xt=globalThis.crypto;Zt=class{#t=[];#e;constructor(t){this.#e=t}update(t){this.#t.push(t)}async digest(){let t=new Uint8Array(this.#t.reduce((i,o)=>i+o.length,0)),r=0;for(let i of this.#t)t.set(i,r),r+=i.length;let n=await globalThis.crypto.subtle.digest(this.#e,t);return new Uint8Array(n)}},yt={webcrypto:Xt,randomUUID:on,randomFillSync:sn,createHash:Ps,Hash:Zt}});var Pi=me(($h,tp)=>{tp.exports={name:"@prisma/engines-version",version:"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"c2990dca591cba766e3b7ef5d9e8a84796e47ab7"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Ts=me(an=>{"use strict";c();u();p();m();d();l();Object.defineProperty(an,"__esModule",{value:!0});an.enginesVersion=void 0;an.enginesVersion=Pi().prisma.enginesVersion});var Rs=me((ew,As)=>{"use strict";c();u();p();m();d();l();As.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Ss=me((Lw,un)=>{"use strict";c();u();p();m();d();l();un.exports=(e={})=>{let t;if(e.repoUrl)t=e.repoUrl;else if(e.user&&e.repo)t=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let r=new URL(`${t}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}r.searchParams.set(i,o)}}return r.toString()};un.exports.default=un.exports});var Ii=me((SP,_s)=>{"use strict";c();u();p();m();d();l();_s.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";c();u();p();m();d();l()});var $s=ye(()=>{"use strict";c();u();p();m();d();l()});var kn,ca=ye(()=>{"use strict";c();u();p();m();d();l();kn=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var Xi=me(rt=>{"use strict";c();u();p();m();d();l();Object.defineProperty(rt,"__esModule",{value:!0});rt.anumber=Zi;rt.abytes=ol;rt.ahash=Nm;rt.aexists=Lm;rt.aoutput=Um;function Zi(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Mm(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ol(e,...t){if(!Mm(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Nm(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Zi(e.outputLen),Zi(e.blockLen)}function Lm(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Um(e,t){ol(e);let r=t.outputLen;if(e.length{"use strict";c();u();p();m();d();l();Object.defineProperty(_,"__esModule",{value:!0});_.add5L=_.add5H=_.add4H=_.add4L=_.add3H=_.add3L=_.rotlBL=_.rotlBH=_.rotlSL=_.rotlSH=_.rotr32L=_.rotr32H=_.rotrBL=_.rotrBH=_.rotrSL=_.rotrSH=_.shrSL=_.shrSH=_.toBig=void 0;_.fromBig=to;_.split=sl;_.add=El;var Fn=BigInt(2**32-1),eo=BigInt(32);function to(e,t=!1){return t?{h:Number(e&Fn),l:Number(e>>eo&Fn)}:{h:Number(e>>eo&Fn)|0,l:Number(e&Fn)|0}}function sl(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;iBigInt(e>>>0)<>>0);_.toBig=al;var ll=(e,t,r)=>e>>>r;_.shrSH=ll;var cl=(e,t,r)=>e<<32-r|t>>>r;_.shrSL=cl;var ul=(e,t,r)=>e>>>r|t<<32-r;_.rotrSH=ul;var pl=(e,t,r)=>e<<32-r|t>>>r;_.rotrSL=pl;var ml=(e,t,r)=>e<<64-r|t>>>r-32;_.rotrBH=ml;var dl=(e,t,r)=>e>>>r-32|t<<64-r;_.rotrBL=dl;var fl=(e,t)=>t;_.rotr32H=fl;var gl=(e,t)=>e;_.rotr32L=gl;var yl=(e,t,r)=>e<>>32-r;_.rotlSH=yl;var hl=(e,t,r)=>t<>>32-r;_.rotlSL=hl;var wl=(e,t,r)=>t<>>64-r;_.rotlBH=wl;var bl=(e,t,r)=>e<>>64-r;_.rotlBL=bl;function El(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var xl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);_.add3L=xl;var Pl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0;_.add3H=Pl;var Tl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0);_.add4L=Tl;var vl=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0;_.add4H=vl;var Al=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0);_.add5L=Al;var Rl=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;_.add5H=Rl;var Fm={fromBig:to,split:sl,toBig:al,shrSH:ll,shrSL:cl,rotrSH:ul,rotrSL:pl,rotrBH:ml,rotrBL:dl,rotr32H:fl,rotr32L:gl,rotlSH:yl,rotlSL:hl,rotlBH:wl,rotlBL:bl,add:El,add3L:xl,add3H:Pl,add4L:Tl,add4H:vl,add5H:Rl,add5L:Al};_.default=Fm});var Sl=me($n=>{"use strict";c();u();p();m();d();l();Object.defineProperty($n,"__esModule",{value:!0});$n.crypto=void 0;var He=(Xe(),qo(xi));$n.crypto=He&&typeof He=="object"&&"webcrypto"in He?He.webcrypto:He&&typeof He=="object"&&"randomBytes"in He?He:void 0});var Ol=me(U=>{"use strict";c();u();p();m();d();l();Object.defineProperty(U,"__esModule",{value:!0});U.Hash=U.nextTick=U.byteSwapIfBE=U.isLE=void 0;U.isBytes=$m;U.u8=Vm;U.u32=qm;U.createView=Bm;U.rotr=jm;U.rotl=Qm;U.byteSwap=io;U.byteSwap32=Hm;U.bytesToHex=Jm;U.hexToBytes=Wm;U.asyncLoop=zm;U.utf8ToBytes=kl;U.toBytes=Vn;U.concatBytes=Ym;U.checkOpts=Zm;U.wrapConstructor=Xm;U.wrapConstructorWithOpts=ed;U.wrapXOFConstructorWithOpts=td;U.randomBytes=rd;var Mt=Sl(),no=Xi();function $m(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Vm(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function qm(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Bm(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function jm(e,t){return e<<32-t|e>>>t}function Qm(e,t){return e<>>32-t>>>0}U.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function io(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}U.byteSwapIfBE=U.isLE?e=>e:e=>io(e);function Hm(e){for(let t=0;tt.toString(16).padStart(2,"0"));function Jm(e){(0,no.abytes)(e);let t="";for(let r=0;r=Le._0&&e<=Le._9)return e-Le._0;if(e>=Le.A&&e<=Le.F)return e-(Le.A-10);if(e>=Le.a&&e<=Le.f)return e-(Le.a-10)}function Wm(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let i=0,o=0;i{};U.nextTick=Km;async function zm(e,t,r){let n=Date.now();for(let i=0;i=0&&oe().update(Vn(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function ed(e){let t=(n,i)=>e(i).update(Vn(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}function td(e){let t=(n,i)=>e(i).update(Vn(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}function rd(e=32){if(Mt.crypto&&typeof Mt.crypto.getRandomValues=="function")return Mt.crypto.getRandomValues(new Uint8Array(e));if(Mt.crypto&&typeof Mt.crypto.randomBytes=="function")return Mt.crypto.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}});var $l=me(J=>{"use strict";c();u();p();m();d();l();Object.defineProperty(J,"__esModule",{value:!0});J.shake256=J.shake128=J.keccak_512=J.keccak_384=J.keccak_256=J.keccak_224=J.sha3_512=J.sha3_384=J.sha3_256=J.sha3_224=J.Keccak=void 0;J.keccakP=Ul;var Nt=Xi(),Pr=Cl(),Ue=Ol(),Ml=[],Nl=[],Ll=[],nd=BigInt(0),xr=BigInt(1),id=BigInt(2),od=BigInt(7),sd=BigInt(256),ad=BigInt(113);for(let e=0,t=xr,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Ml.push(2*(5*n+r)),Nl.push((e+1)*(e+2)/2%64);let i=nd;for(let o=0;o<7;o++)t=(t<>od)*ad)%sd,t&id&&(i^=xr<<(xr<r>32?(0,Pr.rotlBH)(e,t,r):(0,Pr.rotlSH)(e,t,r),_l=(e,t,r)=>r>32?(0,Pr.rotlBL)(e,t,r):(0,Pr.rotlSL)(e,t,r);function Ul(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let s=0;s<10;s++)r[s]=e[s]^e[s+10]^e[s+20]^e[s+30]^e[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,f=(s+2)%10,w=r[f],A=r[f+1],R=Dl(w,A,1)^r[a],S=_l(w,A,1)^r[a+1];for(let C=0;C<50;C+=10)e[s+C]^=R,e[s+C+1]^=S}let i=e[2],o=e[3];for(let s=0;s<24;s++){let a=Nl[s],f=Dl(i,o,a),w=_l(i,o,a),A=Ml[s];i=e[A],o=e[A+1],e[A]=f,e[A+1]=w}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=e[s+a];for(let a=0;a<10;a++)e[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=ld[n],e[1]^=cd[n]}r.fill(0)}var Tr=class e extends Ue.Hash{constructor(t,r,n,i=!1,o=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,Nt.anumber)(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,Ue.u32)(this.state)}keccak(){Ue.isLE||(0,Ue.byteSwap32)(this.state32),Ul(this.state32,this.rounds),Ue.isLE||(0,Ue.byteSwap32)(this.state32),this.posOut=0,this.pos=0}update(t){(0,Nt.aexists)(this);let{blockLen:r,state:n}=this;t=(0,Ue.toBytes)(t);let i=t.length;for(let o=0;o=n&&this.keccak();let s=Math.min(n-this.posOut,o-i);t.set(r.subarray(this.posOut,this.posOut+s),i),this.posOut+=s,i+=s}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,Nt.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,Nt.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:r,suffix:n,outputLen:i,rounds:o,enableXOF:s}=this;return t||(t=new e(r,n,i,s,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=n,t.outputLen=i,t.enableXOF=s,t.destroyed=this.destroyed,t}};J.Keccak=Tr;var Ge=(e,t,r)=>(0,Ue.wrapConstructor)(()=>new Tr(t,e,r));J.sha3_224=Ge(6,144,224/8);J.sha3_256=Ge(6,136,256/8);J.sha3_384=Ge(6,104,384/8);J.sha3_512=Ge(6,72,512/8);J.keccak_224=Ge(1,144,224/8);J.keccak_256=Ge(1,136,256/8);J.keccak_384=Ge(1,104,384/8);J.keccak_512=Ge(1,72,512/8);var Fl=(e,t,r)=>(0,Ue.wrapXOFConstructorWithOpts)((n={})=>new Tr(t,e,n.dkLen===void 0?r:n.dkLen,!0));J.shake128=Fl(31,168,128/8);J.shake256=Fl(31,136,256/8)});var Jl=me((RL,Je)=>{"use strict";c();u();p();m();d();l();var{sha3_512:ud}=$l(),ql=24,vr=32,oo=(e=4,t=Math.random)=>{let r="";for(;r.lengthBl(ud(e)).toString(36).slice(1),Vl=Array.from({length:26},(e,t)=>String.fromCharCode(t+97)),pd=e=>Vl[Math.floor(e()*Vl.length)],Ql=({globalObj:e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},random:t=Math.random}={})=>{let r=Object.keys(e).toString(),n=r.length?r+oo(vr,t):oo(vr,t);return jl(n).substring(0,vr)},Hl=e=>()=>e++,md=476782367,Gl=({random:e=Math.random,counter:t=Hl(Math.floor(e()*md)),length:r=ql,fingerprint:n=Ql({random:e})}={})=>function(){let o=pd(e),s=Date.now().toString(36),a=t().toString(36),f=oo(r,e),w=`${s+f+a+n}`;return`${o+jl(w).substring(1,r)}`},dd=Gl(),fd=(e,{minLength:t=2,maxLength:r=vr}={})=>{let n=e.length,i=/^[0-9a-z]+$/;try{if(typeof e=="string"&&n>=t&&n<=r&&i.test(e))return!0}finally{}return!1};Je.exports.getConstants=()=>({defaultLength:ql,bigLength:vr});Je.exports.init=Gl;Je.exports.createId=dd;Je.exports.bufToBigInt=Bl;Je.exports.createCounter=Hl;Je.exports.createFingerprint=Ql;Je.exports.isCuid=fd});var Wl=me((_L,Ar)=>{"use strict";c();u();p();m();d();l();var{createId:gd,init:yd,getConstants:hd,isCuid:wd}=Jl();Ar.exports.createId=gd;Ar.exports.init=yd;Ar.exports.getConstants=hd;Ar.exports.isCuid=wd});var $f={};pt($f,{DMMF:()=>or,Debug:()=>K,Decimal:()=>se,Extensions:()=>gi,MetricsClient:()=>St,PrismaClientInitializationError:()=>F,PrismaClientKnownRequestError:()=>X,PrismaClientRustPanicError:()=>ae,PrismaClientUnknownRequestError:()=>ne,PrismaClientValidationError:()=>ie,Public:()=>yi,Sql:()=>fe,createParam:()=>ta,defineDmmfProperty:()=>aa,deserializeJsonResponse:()=>Qe,deserializeRawResult:()=>ai,dmmfToRuntimeDataModel:()=>Ds,empty:()=>pa,getPrismaClient:()=>tu,getRuntime:()=>ti,join:()=>ua,makeStrictEnum:()=>ru,makeTypedQueryFactory:()=>la,objectEnumValues:()=>En,raw:()=>Fi,serializeJsonQuery:()=>Cn,skip:()=>Rn,sqltag:()=>$i,warnEnvConflicts:()=>void 0,warnOnce:()=>rr});module.exports=qo($f);c();u();p();m();d();l();var gi={};pt(gi,{defineExtension:()=>Zo,getExtensionContext:()=>Xo});c();u();p();m();d();l();c();u();p();m();d();l();function Zo(e){return typeof e=="function"?e:t=>t.$extends(e)}c();u();p();m();d();l();function Xo(e){return e}var yi={};pt(yi,{validator:()=>es});c();u();p();m();d();l();c();u();p();m();d();l();function es(...e){return t=>t}c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();var hi,ts,rs,ns,is=!0;typeof g<"u"&&({FORCE_COLOR:hi,NODE_DISABLE_COLORS:ts,NO_COLOR:rs,TERM:ns}=g.env||{},is=g.stdout&&g.stdout.isTTY);var xu={enabled:!ts&&rs==null&&ns!=="dumb"&&(hi!=null&&hi!=="0"||is)};function j(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!xu.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var Ug=j(0,0),Xr=j(1,22),en=j(2,22),Fg=j(3,23),tn=j(4,24),$g=j(7,27),Vg=j(8,28),qg=j(9,29),Bg=j(30,39),ft=j(31,39),os=j(32,39),ss=j(33,39),as=j(34,39),jg=j(35,39),ls=j(36,39),Qg=j(37,39),cs=j(90,39),Hg=j(90,39),Gg=j(40,49),Jg=j(41,49),Wg=j(42,49),Kg=j(43,49),zg=j(44,49),Yg=j(45,49),Zg=j(46,49),Xg=j(47,49);c();u();p();m();d();l();var Pu=100,us=["green","yellow","blue","magenta","cyan","red"],zt=[],ps=Date.now(),Tu=0,wi=typeof g<"u"?g.env:{};globalThis.DEBUG??=wi.DEBUG??"";globalThis.DEBUG_COLORS??=wi.DEBUG_COLORS?wi.DEBUG_COLORS==="true":!0;var Yt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function vu(e){let t={color:us[Tu++%us.length],enabled:Yt.enabled(e),namespace:e,log:Yt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&zt.push([o,...n]),zt.length>Pu&&zt.shift(),Yt.enabled(o)||i){let f=n.map(A=>typeof A=="string"?A:Au(A)),w=`+${Date.now()-ps}ms`;ps=Date.now(),a(o,...f,w)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var K=new Proxy(vu,{get:(e,t)=>Yt[t],set:(e,t,r)=>Yt[t]=r});function Au(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function ms(e=7500){let t=zt.map(([r,...n])=>`${r} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` +`);return t.lengthip,info:()=>np,log:()=>rp,query:()=>op,should:()=>Cs,tags:()=>er,warn:()=>vi});c();u();p();m();d();l();var er={error:ft("prisma:error"),warn:ss("prisma:warn"),info:ls("prisma:info"),query:as("prisma:query")},Cs={warn:()=>!g.env.PRISMA_DISABLE_WARNINGS};function rp(...e){console.log(...e)}function vi(e,...t){Cs.warn()&&console.warn(`${er.warn} ${e}`,...t)}function np(e,...t){console.info(`${er.info} ${e}`,...t)}function ip(e,...t){console.error(`${er.error} ${e}`,...t)}function op(e,...t){console.log(`${er.query} ${e}`,...t)}c();u();p();m();d();l();function Me(e,t){throw new Error(t)}c();u();p();m();d();l();c();u();p();m();d();l();function Ai({onlyFirst:e=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var sp=Ai();function ht(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(sp,"")}c();u();p();m();d();l();function Ri(e,t){return Object.prototype.hasOwnProperty.call(e,t)}c();u();p();m();d();l();function pn(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}c();u();p();m();d();l();function Ci(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{Is.has(e)||(Is.add(e),vi(t,...r))};var F=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};D(F,"PrismaClientInitializationError");c();u();p();m();d();l();var X=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};D(X,"PrismaClientKnownRequestError");c();u();p();m();d();l();var ae=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};D(ae,"PrismaClientRustPanicError");c();u();p();m();d();l();var ne=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};D(ne,"PrismaClientUnknownRequestError");c();u();p();m();d();l();var ie=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};D(ie,"PrismaClientValidationError");c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();var Ce=class{_map=new Map;get(t){return this._map.get(t)?.value}set(t,r){this._map.set(t,{value:r})}getOrCreate(t,r){let n=this._map.get(t);if(n)return n.value;let i=r();return this.set(t,i),i}};c();u();p();m();d();l();function qe(e){return e.substring(0,1).toLowerCase()+e.substring(1)}c();u();p();m();d();l();function Os(e,t){let r={};for(let n of e){let i=n[t];r[i]=n}return r}c();u();p();m();d();l();function nr(e){let t;return{get(){return t||(t={value:e()}),t.value}}}c();u();p();m();d();l();function Ds(e){return{models:Si(e.models),enums:Si(e.enums),types:Si(e.types)}}function Si(e){let t={};for(let{name:r,...n}of e)t[r]=n;return t}c();u();p();m();d();l();function wt(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function mn(e){return e.toString()!=="Invalid Date"}c();u();p();m();d();l();l();function bt(e){return v.isDecimal(e)?!0:e!==null&&typeof e=="object"&&typeof e.s=="number"&&typeof e.e=="number"&&typeof e.toFixed=="function"&&Array.isArray(e.d)}c();u();p();m();d();l();c();u();p();m();d();l();var or={};pt(or,{ModelAction:()=>ir,datamodelEnumToSchemaEnum:()=>ap});c();u();p();m();d();l();c();u();p();m();d();l();function ap(e){return{name:e.name,values:e.values.map(t=>t.name)}}c();u();p();m();d();l();var ir=(B=>(B.findUnique="findUnique",B.findUniqueOrThrow="findUniqueOrThrow",B.findFirst="findFirst",B.findFirstOrThrow="findFirstOrThrow",B.findMany="findMany",B.create="create",B.createMany="createMany",B.createManyAndReturn="createManyAndReturn",B.update="update",B.updateMany="updateMany",B.updateManyAndReturn="updateManyAndReturn",B.upsert="upsert",B.delete="delete",B.deleteMany="deleteMany",B.groupBy="groupBy",B.count="count",B.aggregate="aggregate",B.findRaw="findRaw",B.aggregateRaw="aggregateRaw",B))(ir||{});var lp=$e(Rs());var cp={red:ft,gray:cs,dim:en,bold:Xr,underline:tn,highlightSource:e=>e.highlight()},up={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function pp({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function mp({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],f=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${f}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${f}`)),t&&a.push(s.underline(dp(t))),i){a.push("");let w=[i.toString()];o&&(w.push(o),w.push(s.dim(")"))),a.push(w.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function dp(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function dn(e){let t=e.showColors?cp:up,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=pp(e),mp(r,t)}c();u();p();m();d();l();var qs=$e(Ii());c();u();p();m();d();l();function Ls(e,t,r){let n=Us(e),i=fp(n),o=yp(i);o?fn(o,t,r):t.addErrorMessage(()=>"Unknown error")}function Us(e){return e.errors.flatMap(t=>t.kind==="Union"?Us(t):[t])}function fp(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:gp(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function gp(e,t){return[...new Set(e.concat(t))]}function yp(e){return Ci(e,(t,r)=>{let n=Ms(t),i=Ms(r);return n!==i?n-i:Ns(t)-Ns(r)})}function Ms(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function Ns(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}c();u();p();m();d();l();var we=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};c();u();p();m();d();l();c();u();p();m();d();l();$s();c();u();p();m();d();l();var Et=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};Fs();c();u();p();m();d();l();c();u();p();m();d();l();var gn=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};c();u();p();m();d();l();var yn=e=>e,hn={bold:yn,red:yn,green:yn,dim:yn,enabled:!1},Vs={bold:Xr,red:ft,green:os,dim:en,enabled:!0},xt={write(e){e.writeLine(",")}};c();u();p();m();d();l();var Se=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};c();u();p();m();d();l();var Be=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var Pt=class extends Be{items=[];addItem(t){return this.items.push(new gn(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new Se("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(xt,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var Tt=class e extends Be{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof Pt&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new Se("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(xt,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};c();u();p();m();d();l();var re=class extends Be{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new Se(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};c();u();p();m();d();l();var sr=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(xt,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function fn(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":hp(e,t);break;case"IncludeOnScalar":wp(e,t);break;case"EmptySelection":bp(e,t,r);break;case"UnknownSelectionField":Tp(e,t);break;case"InvalidSelectionValue":vp(e,t);break;case"UnknownArgument":Ap(e,t);break;case"UnknownInputField":Rp(e,t);break;case"RequiredArgumentMissing":Cp(e,t);break;case"InvalidArgumentType":Sp(e,t);break;case"InvalidArgumentValue":Ip(e,t);break;case"ValueTooLarge":kp(e,t);break;case"SomeFieldsMissing":Op(e,t);break;case"TooManyFieldsGiven":Dp(e,t);break;case"Union":Ls(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function hp(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function wp(e,t){let[r,n]=vt(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new we(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${ar(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function bp(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Ep(e,t,i);return}if(n.hasField("select")){xp(e,t);return}}if(r?.[qe(e.outputType.name)]){Pp(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Ep(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new we(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function xp(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),Qs(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${ar(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function Pp(e,t){let r=new sr;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new we("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=vt(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let f=a?.value.asObject()??new Tt;f.addSuggestion(n),a.value=f}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function Tp(e,t){let r=Hs(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":Qs(n,e.outputType);break;case"include":_p(n,e.outputType);break;case"omit":Mp(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(ar(n)),i.join(" ")})}function vp(e,t){let r=Hs(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function Ap(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Np(n,e.arguments)),t.addErrorMessage(i=>Bs(i,r,e.arguments.map(o=>o.name)))}function Rp(e,t){let[r,n]=vt(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Gs(o,e.inputType)}t.addErrorMessage(o=>Bs(o,n,e.inputType.fields.map(s=>s.name)))}function Bs(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=Up(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(ar(e)),n.join(" ")}function Cp(e,t){let r;t.addErrorMessage(f=>r?.value instanceof re&&r.value.text==="null"?`Argument \`${f.green(o)}\` must not be ${f.red("null")}.`:`Argument \`${f.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=vt(e.argumentPath),s=new sr,a=n.getDeepFieldValue(i)?.asObject();if(a){if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let f of e.inputTypes[0].fields)s.addField(f.name,f.typeNames.join(" | "));a.addSuggestion(new we(o,s).makeRequired())}else{let f=e.inputTypes.map(js).join(" | ");a.addSuggestion(new we(o,f).makeRequired())}if(e.dependentArgumentPath){n.getDeepField(e.dependentArgumentPath)?.markAsError();let[,f]=vt(e.dependentArgumentPath);t.addErrorMessage(w=>`Argument \`${w.green(o)}\` is required because argument \`${w.green(f)}\` was provided.`)}}}function js(e){return e.kind==="list"?`${js(e.elementType)}[]`:e.name}function Sp(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=wn("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function Ip(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=wn("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function kp(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof re&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function Op(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Gs(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${wn("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(ar(i)),o.join(" ")})}function Dp(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${wn("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function Qs(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new we(r.name,"true"))}function _p(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new we(r.name,"true"))}function Mp(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new we(r.name,"true"))}function Np(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new we(r.name,r.typeNames.join(" | ")))}function Hs(e,t){let[r,n]=vt(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),f=o?.getField(n);return o&&f?{parentKind:"select",parent:o,field:f,fieldName:n}:(f=s?.getField(n),s&&f?{parentKind:"include",field:f,parent:s,fieldName:n}:(f=a?.getField(n),a&&f?{parentKind:"omit",field:f,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Gs(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new we(r.name,r.typeNames.join(" | ")))}function vt(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function ar({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function wn(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var Lp=3;function Up(e,t){let r=1/0,n;for(let i of t){let o=(0,qs.default)(e,i);o>Lp||o`}};function At(e){return e instanceof lr}c();u();p();m();d();l();var bn=Symbol(),Oi=new WeakMap,Ne=class{constructor(t){t===bn?Oi.set(this,`Prisma.${this._getName()}`):Oi.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Oi.get(this)}},cr=class extends Ne{_getNamespace(){return"NullTypes"}},ur=class extends cr{#t};Di(ur,"DbNull");var pr=class extends cr{#t};Di(pr,"JsonNull");var mr=class extends cr{#t};Di(mr,"AnyNull");var En={classes:{DbNull:ur,JsonNull:pr,AnyNull:mr},instances:{DbNull:new ur(bn),JsonNull:new pr(bn),AnyNull:new mr(bn)}};function Di(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}c();u();p();m();d();l();var Js=": ",xn=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Js.length}write(t){let r=new Se(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Js).write(this.value)}};var _i=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function Rt(e){return new _i(Ws(e))}function Ws(e){let t=new Tt;for(let[r,n]of Object.entries(e)){let i=new xn(r,Ks(n));t.addField(i)}return t}function Ks(e){if(typeof e=="string")return new re(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new re(String(e));if(typeof e=="bigint")return new re(`${e}n`);if(e===null)return new re("null");if(e===void 0)return new re("undefined");if(bt(e))return new re(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return y.isBuffer(e)?new re(`Buffer.alloc(${e.byteLength})`):new re(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=mn(e)?e.toISOString():"Invalid Date";return new re(`new Date("${t}")`)}return e instanceof Ne?new re(`Prisma.${e._getName()}`):At(e)?new re(`prisma.${qe(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Fp(e):typeof e=="object"?Ws(e):new re(Object.prototype.toString.call(e))}function Fp(e){let t=new Pt;for(let r of e)t.addItem(Ks(r));return t}function Pn(e,t){let r=t==="pretty"?Vs:hn,n=e.renderAllMessages(r),i=new Et(0,{colors:r}).write(e).toString();return{message:n,args:i}}function Tn({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=Rt(e);for(let R of t)fn(R,a,s);let{message:f,args:w}=Pn(a,r),A=dn({message:f,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:w});throw new ie(A,{clientVersion:o})}c();u();p();m();d();l();c();u();p();m();d();l();function Ie(e){return e.replace(/^./,t=>t.toLowerCase())}c();u();p();m();d();l();function Ys(e,t,r){let n=Ie(r);return!t.result||!(t.result.$allModels||t.result[n])?e:$p({...e,...zs(t.name,e,t.result.$allModels),...zs(t.name,e,t.result[n])})}function $p(e){let t=new Ce,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return pn(e,n=>({...n,needs:r(n.name,new Set)}))}function zs(e,t,r){return r?pn(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Vp(t,o,i)})):{}}function Vp(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function Zs(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Xs(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var vn=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new Ce;modelExtensionsCache=new Ce;queryCallbacksCache=new Ce;clientExtensions=nr(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=nr(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>Ys(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Ie(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},Ct=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new vn(t))}isEmpty(){return this.head===void 0}append(t){return new e(new vn(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};c();u();p();m();d();l();var An=class{constructor(t){this.name=t}};function ea(e){return e instanceof An}function ta(e){return new An(e)}c();u();p();m();d();l();c();u();p();m();d();l();var ra=Symbol(),dr=class{constructor(t){if(t!==ra)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Rn:t}},Rn=new dr(ra);function ke(e){return e instanceof dr}var qp={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},na="explicitly `undefined` values are not allowed";function Cn({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=Ct.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:f,previewFeatures:w,globalOmit:A}){let R=new Mi({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:f,previewFeatures:w,globalOmit:A});return{modelName:e,action:qp[t],query:fr(r,R)}}function fr({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:oa(r,n),selection:Bp(e,t,i,n)}}function Bp(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),Gp(e,n)):jp(n,t,r)}function jp(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&Qp(n,t,e),Hp(n,r,e),n}function Qp(e,t,r){for(let[n,i]of Object.entries(t)){if(ke(i))continue;let o=r.nestSelection(n);if(Ni(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=fr(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=fr(i,o)}}function Hp(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Xs(i,n);for(let[s,a]of Object.entries(o)){if(ke(a))continue;Ni(a,r.nestSelection(s));let f=r.findField(s);n?.[s]&&!f||(e[s]=!a)}}function Gp(e,t){let r={},n=t.getComputedFields(),i=Zs(e,n);for(let[o,s]of Object.entries(i)){if(ke(s))continue;let a=t.nestSelection(o);Ni(s,a);let f=t.findField(o);if(!(n?.[o]&&!f)){if(s===!1||s===void 0||ke(s)){r[o]=!1;continue}if(s===!0){f?.kind==="object"?r[o]=fr({},a):r[o]=!0;continue}r[o]=fr(s,a)}}return r}function ia(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(wt(e)){if(mn(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(ea(e))return{$type:"Param",value:e.name};if(At(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return Jp(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:y.from(r,n,i).toString("base64")}}if(Wp(e))return e.values;if(bt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Ne){if(e!==En.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(Kp(e))return e.toJSON();if(typeof e=="object")return oa(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function oa(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);ke(i)||(i!==void 0?r[n]=ia(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:na}))}return r}function Jp(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[qe(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Me(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};c();u();p();m();d();l();function sa(e){if(!e._hasPreviewFlag("metrics"))throw new ie("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var St=class{_client;constructor(t){this._client=t}prometheus(t){return sa(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return sa(this._client),this._client._engine.metrics({format:"json",...t})}};c();u();p();m();d();l();function aa(e,t){let r=nr(()=>zp(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function zp(e){throw new Error("Prisma.dmmf is not available when running in edge runtimes.")}function Li(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}c();u();p();m();d();l();var Ui=new WeakMap,Sn="$$PrismaTypedSql",gr=class{constructor(t,r){Ui.set(this,{sql:t,values:r}),Object.defineProperty(this,Sn,{value:Sn})}get sql(){return Ui.get(this).sql}get values(){return Ui.get(this).values}};function la(e){return(...t)=>new gr(e,t)}function In(e){return e!=null&&e[Sn]===Sn}c();u();p();m();d();l();var eu=$e(Pi());c();u();p();m();d();l();ca();gs();xs();c();u();p();m();d();l();var fe=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}c();u();p();m();d();l();c();u();p();m();d();l();var On={enumerable:!0,configurable:!0,writable:!0};function Dn(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>On,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var ma=Symbol.for("nodejs.util.inspect.custom");function Pe(e,t){let r=Yp(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=da(Reflect.ownKeys(o),r),a=da(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let f=r.get(s);return f?f.getPropertyDescriptor?{...On,...f?.getPropertyDescriptor(s)}:On:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[ma]=function(){let o={...this};return delete o[ma],o},i}function Yp(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function da(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}c();u();p();m();d();l();function It(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}c();u();p();m();d();l();function kt(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}c();u();p();m();d();l();function fa(e){if(e===void 0)return"";let t=Rt(e);return new Et(0,{colors:hn}).write(t).toString()}c();u();p();m();d();l();var Zp="P2037";function _n({error:e,user_facing_error:t},r,n){return t.error_code?new X(Xp(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new ne(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function Xp(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===Zp&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();var Vi=class{getLocation(){return null}};function je(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new Vi}c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();var ga={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function Ot(e={}){let t=tm(e);return Object.entries(t).reduce((n,[i,o])=>(ga[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function tm(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Mn(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function ya(e,t){let r=Mn(e);return t({action:"aggregate",unpacker:r,argsMapper:Ot})(e)}c();u();p();m();d();l();function rm(e={}){let{select:t,...r}=e;return typeof t=="object"?Ot({...r,_count:t}):Ot({...r,_count:{_all:!0}})}function nm(e={}){return typeof e.select=="object"?t=>Mn(e)(t)._count:t=>Mn(e)(t)._count._all}function ha(e,t){return t({action:"count",unpacker:nm(e),argsMapper:rm})(e)}c();u();p();m();d();l();function im(e={}){let t=Ot(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function om(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function wa(e,t){return t({action:"groupBy",unpacker:om(e),argsMapper:im})(e)}function ba(e,t,r){if(t==="aggregate")return n=>ya(n,r);if(t==="count")return n=>ha(n,r);if(t==="groupBy")return n=>wa(n,r)}c();u();p();m();d();l();function Ea(e,t){let r=t.fields.filter(i=>!i.relationName),n=Os(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new lr(e,o,s.type,s.isList,s.kind==="enum")},...Dn(Object.keys(n))})}c();u();p();m();d();l();c();u();p();m();d();l();var xa=e=>Array.isArray(e)?e:e.split("."),qi=(e,t)=>xa(t).reduce((r,n)=>r&&r[n],e),Pa=(e,t,r)=>xa(t).reduceRight((n,i,o,s)=>Object.assign({},qi(e,s.slice(0,o)),{[i]:n}),r);function sm(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function am(e,t,r){return t===void 0?e??{}:Pa(t,r,e||!0)}function Bi(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((f,w)=>({...f,[w.name]:w}),{});return f=>{let w=je(e._errorFormat),A=sm(n,i),R=am(f,o,A),S=r({dataPath:A,callsite:w})(R),C=lm(e,t);return new Proxy(S,{get(L,k){if(!C.includes(k))return L[k];let De=[a[k].type,r,k],ue=[A,R];return Bi(e,...De,...ue)},...Dn([...C,...Object.getOwnPropertyNames(S)])})}}function lm(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var cm=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],um=["aggregate","count","groupBy"];function ji(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[pm(e,t),dm(e,t),yr(r),le("name",()=>t),le("$name",()=>t),le("$parent",()=>e._appliedParent)];return Pe({},n)}function pm(e,t){let r=Ie(t),n=Object.keys(ir).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>f=>{let w=je(e._errorFormat);return e._createPrismaPromise(A=>{let R={args:f,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:A,callsite:w};return e._request({...R,...a})},{action:o,args:f,model:t})};return cm.includes(o)?Bi(e,t,s):mm(i)?ba(e,i,s):s({})}}}function mm(e){return um.includes(e)}function dm(e,t){return et(le("fields",()=>{let r=e._runtimeDataModel.models[t];return Ea(t,r)}))}c();u();p();m();d();l();function Ta(e){return e.replace(/^./,t=>t.toUpperCase())}var Qi=Symbol();function hr(e){let t=[fm(e),gm(e),le(Qi,()=>e),le("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(yr(r)),Pe(e,t)}function fm(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function gm(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Ie),n=[...new Set(t.concat(r))];return et({getKeys(){return n},getPropertyValue(i){let o=Ta(i);if(e._runtimeDataModel.models[o]!==void 0)return ji(e,o);if(e._runtimeDataModel.models[i]!==void 0)return ji(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function va(e){return e[Qi]?e[Qi]:e}function Aa(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$on:{value:void 0}});return hr(t)}c();u();p();m();d();l();c();u();p();m();d();l();function Ra({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let f of Object.values(o)){if(n){if(n[f.name])continue;let w=f.needs.filter(A=>n[A]);w.length>0&&a.push(It(w))}else if(r){if(!r[f.name])continue;let w=f.needs.filter(A=>!r[A]);w.length>0&&a.push(It(w))}ym(e,f.needs)&&s.push(hm(f,Pe(e,s)))}return s.length>0||a.length>0?Pe(e,[...s,...a]):e}function ym(e,t){return t.every(r=>Ri(e,r))}function hm(e,t){return et(le(e.name,()=>e.compute(t)))}c();u();p();m();d();l();function Nn({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sA.name===o);if(!f||f.kind!=="object"||!f.relationName)continue;let w=typeof s=="object"?s:{};t[o]=Nn({visitor:i,result:t[o],args:w,modelName:f.type,runtimeDataModel:n})}}function Sa({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Nn({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,f,w)=>{let A=Ie(f);return Ra({result:a,modelName:A,select:w.select,omit:w.select?void 0:{...o?.[A],...w.omit},extensions:n})}})}c();u();p();m();d();l();c();u();p();m();d();l();l();c();u();p();m();d();l();var wm=["$connect","$disconnect","$on","$transaction","$extends"],Ia=wm;function ka(e){if(e instanceof fe)return bm(e);if(In(e))return Em(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:ka(t.args??{}),__internalParams:t,query:(s,a=t)=>{let f=a.customDataProxyFetch;return a.customDataProxyFetch=La(o,f),a.args=s,Da(e,a,r,n+1)}})})}function _a(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return Da(e,t,s)}function Ma(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?Na(r,n,0,e):e(r)}}function Na(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let f=a.customDataProxyFetch;return a.customDataProxyFetch=La(i,f),Na(a,t,r+1,n)}})}var Oa=e=>e;function La(e=Oa,t=Oa){return r=>e(t(r))}c();u();p();m();d();l();var Ua=K("prisma:client"),Fa={Vercel:"vercel","Netlify CI":"netlify"};function $a({postinstall:e,ciName:t,clientVersion:r,generator:n}){if(Ua("checkPlatformCaching:postinstall",e),Ua("checkPlatformCaching:ciName",t),e===!0&&!(n?.output&&typeof(n.output.fromEnvVar??n.output.value)=="string")&&t&&t in Fa){let i=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${Fa[t]}-build`;throw console.error(i),new F(i,r)}}c();u();p();m();d();l();function Va(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();function qa(e){return e?e.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,t=>`${t[0]}5`):""}c();u();p();m();d();l();function Ba(e){return e.split(` +`).map(t=>t.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/,"").replace(/\+\d+\s*ms$/,"")).join(` +`)}c();u();p();m();d();l();var ja=$e(Ss());function Qa({title:e,user:t="prisma",repo:r="prisma",template:n="bug_report.yml",body:i}){return(0,ja.default)({user:t,repo:r,template:n,title:e,body:i})}function Ha({version:e,binaryTarget:t,title:r,description:n,engineVersion:i,database:o,query:s}){let a=ms(6e3-(s?.length??0)),f=Ba(ht(a)),w=n?`# Description +\`\`\` +${n} +\`\`\``:"",A=ht(`Hi Prisma Team! My Prisma Client just crashed. This is the report: +## Versions + +| Name | Version | +|-----------------|--------------------| +| Node | ${g.version?.padEnd(19)}| +| OS | ${t?.padEnd(19)}| +| Prisma Client | ${e?.padEnd(19)}| +| Query Engine | ${i?.padEnd(19)}| +| Database | ${o?.padEnd(19)}| + +${w} + +## Logs +\`\`\` +${f} +\`\`\` + +## Client Snippet +\`\`\`ts +// PLEASE FILL YOUR CODE SNIPPET HERE +\`\`\` + +## Schema +\`\`\`prisma +// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE +\`\`\` + +## Prisma Engine Query +\`\`\` +${s?qa(s):""} +\`\`\` +`),R=Qa({title:r,body:A});return`${r} + +This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic. + +${tn(R)} + +If you want the Prisma team to look into it, please open the link above \u{1F64F} +To increase the chance of success, please post your schema and a snippet of +how you used Prisma Client in the issue. +`}c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();l();c();u();p();m();d();l();l();function $(e,t){throw new Error(t)}function Hi(e,t){return e===t||e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(r=>Hi(e[r],t[r]))}function Dt(e,t){let r=Object.keys(e),n=Object.keys(t);return(r.length{if(typeof e[o]==typeof t[o]&&typeof e[o]!="object")return e[o]===t[o];if(se.isDecimal(e[o])||se.isDecimal(t[o])){let s=Ga(e[o]),a=Ga(t[o]);return s&&a&&s.equals(a)}else if(e[o]instanceof Uint8Array||t[o]instanceof Uint8Array){let s=Ja(e[o]),a=Ja(t[o]);return s&&a&&s.equals(a)}else{if(e[o]instanceof Date||t[o]instanceof Date)return Wa(e[o])?.getTime()===Wa(t[o])?.getTime();if(typeof e[o]=="bigint"||typeof t[o]=="bigint")return Ka(e[o])===Ka(t[o]);if(typeof e[o]=="number"||typeof t[o]=="number")return za(e[o])===za(t[o])}return Hi(e[o],t[o])})}function Ga(e){return se.isDecimal(e)?e:typeof e=="number"||typeof e=="string"?new se(e):void 0}function Ja(e){return y.isBuffer(e)?e:e instanceof Uint8Array?y.from(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?y.from(e,"base64"):void 0}function Wa(e){return e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):void 0}function Ka(e){return typeof e=="bigint"?e:typeof e=="number"||typeof e=="string"?BigInt(e):void 0}function za(e){return typeof e=="number"?e:typeof e=="string"?Number(e):void 0}function br(e){return JSON.stringify(e,(t,r)=>typeof r=="bigint"?r.toString():ArrayBuffer.isView(r)?y.from(r.buffer,r.byteOffset,r.byteLength).toString("base64"):r)}function xm(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function Pm(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}function Qe(e){return e===null?e:Array.isArray(e)?e.map(Qe):typeof e=="object"?xm(e)?Tm(e):e.constructor!==null&&e.constructor.name!=="Object"?e:Pm(e,Qe):e}function Tm({$type:e,value:t}){switch(e){case"BigInt":return BigInt(t);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=y.from(t,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(t);case"Decimal":return new v(t);case"Json":return JSON.parse(t);default:$(t,"Unknown tagged value")}}c();u();p();m();d();l();var ce=class extends Error{name="UserFacingError";code;meta;constructor(t,r,n){super(t),this.code=r,this.meta=n??{}}toQueryResponseErrorObject(){return{error:this.message,user_facing_error:{is_panic:!1,message:this.message,meta:this.meta,error_code:this.code}}}};function _t(e){if(!nn(e))throw e;let t=vm(e),r=Ya(e);throw!t||!r?e:new ce(r,t,{driverAdapterError:e})}function Ji(e){throw nn(e)?new ce(`Raw query failed. Code: \`${e.cause.originalCode??"N/A"}\`. Message: \`${e.cause.originalMessage??Ya(e)}\``,"P2010",{driverAdapterError:e}):e}function vm(e){switch(e.cause.kind){case"AuthenticationFailed":return"P1000";case"DatabaseNotReachable":return"P1001";case"DatabaseDoesNotExist":return"P1003";case"SocketTimeout":return"P1008";case"DatabaseAlreadyExists":return"P1009";case"DatabaseAccessDenied":return"P1010";case"TlsConnectionError":return"P1011";case"ConnectionClosed":return"P1017";case"TransactionAlreadyClosed":return"P1018";case"LengthMismatch":return"P2000";case"UniqueConstraintViolation":return"P2002";case"ForeignKeyConstraintViolation":return"P2003";case"UnsupportedNativeDataType":return"P2010";case"NullConstraintViolation":return"P2011";case"ValueOutOfRange":return"P2020";case"TableDoesNotExist":return"P2021";case"ColumnNotFound":return"P2022";case"InvalidIsolationLevel":case"InconsistentColumnData":return"P2023";case"MissingFullTextSearchIndex":return"P2030";case"TransactionWriteConflict":return"P2034";case"GenericJs":return"P2036";case"TooManyConnections":return"P2037";case"postgres":case"sqlite":case"mysql":case"mssql":return;default:$(e.cause,`Unknown error: ${e.cause}`)}}function Ya(e){switch(e.cause.kind){case"AuthenticationFailed":return`Authentication failed against the database server, the provided database credentials for \`${e.cause.user??"(not available)"}\` are not valid`;case"DatabaseNotReachable":{let t=e.cause.host&&e.cause.port?`${e.cause.host}:${e.cause.port}`:e.cause.host;return`Can't reach database server${t?` at ${t}`:""}`}case"DatabaseDoesNotExist":return`Database \`${e.cause.db??"(not available)"}\` does not exist on the database server`;case"SocketTimeout":return"Operation has timed out";case"DatabaseAlreadyExists":return`Database \`${e.cause.db??"(not available)"}\` already exists on the database server`;case"DatabaseAccessDenied":return`User was denied access on the database \`${e.cause.db??"(not available)"}\``;case"TlsConnectionError":return`Error opening a TLS connection: ${e.cause.reason}`;case"ConnectionClosed":return"Server has closed the connection.";case"TransactionAlreadyClosed":return e.cause.cause;case"LengthMismatch":return`The provided value for the column is too long for the column's type. Column: ${e.cause.column??"(not available)"}`;case"UniqueConstraintViolation":return`Unique constraint failed on the ${Gi(e.cause.constraint)}`;case"ForeignKeyConstraintViolation":return`Foreign key constraint violated on the ${Gi(e.cause.constraint)}`;case"UnsupportedNativeDataType":return`Failed to deserialize column of type '${e.cause.type}'. If you're using $queryRaw and this column is explicitly marked as \`Unsupported\` in your Prisma schema, try casting this column to any supported Prisma type such as \`String\`.`;case"NullConstraintViolation":return`Null constraint violation on the ${Gi(e.cause.constraint)}`;case"ValueOutOfRange":return`Value out of range for the type: ${e.cause.cause}`;case"TableDoesNotExist":return`The table \`${e.cause.table??"(not available)"}\` does not exist in the current database.`;case"ColumnNotFound":return`The column \`${e.cause.column??"(not available)"}\` does not exist in the current database.`;case"InvalidIsolationLevel":return`Error in connector: Conversion error: ${e.cause.level}`;case"InconsistentColumnData":return`Inconsistent column data: ${e.cause.cause}`;case"MissingFullTextSearchIndex":return"Cannot find a fulltext index to use for the native search, try adding a @@fulltext([Fields...]) to your schema";case"TransactionWriteConflict":return"Transaction failed due to a write conflict or a deadlock. Please retry your transaction";case"GenericJs":return`Error in external connector (id ${e.cause.id})`;case"TooManyConnections":return`Too many database connections opened: ${e.cause.cause}`;case"sqlite":case"postgres":case"mysql":case"mssql":return;default:$(e.cause,`Unknown error: ${e.cause}`)}}function Gi(e){return e&&"fields"in e?`fields: (${e.fields.map(t=>`\`${t}\``).join(", ")})`:e&&"index"in e?`constraint: \`${e.index}\``:e&&"foreignKey"in e?"foreign key":"(not available)"}function Za(e,t){let r=e.map(i=>t.keys.reduce((o,s)=>(o[s]=Qe(i[s]),o),{})),n=new Set(t.nestedSelection);return t.arguments.map(i=>{let o=r.findIndex(s=>Dt(s,i));if(o===-1)return t.expectNonEmpty?new ce("An operation failed because it depends on one or more records that were required but not found","P2025"):null;{let s=Object.entries(e[o]).filter(([a])=>n.has(a));return Object.fromEntries(s)}})}c();u();p();m();d();l();l();var G=class extends Error{name="DataMapperError"};function el(e,t,r){switch(t.type){case"affectedRows":if(typeof e!="number")throw new G(`Expected an affected rows count, got: ${typeof e} (${e})`);return{count:e};case"object":return Ki(e,t.fields,r,t.skipNulls);case"field":return Wi(e,"",t.fieldType,r);default:$(t,`Invalid data mapping type: '${t.type}'`)}}function Ki(e,t,r,n){if(e===null)return null;if(Array.isArray(e)){let i=e;return n&&(i=i.filter(o=>o!==null)),i.map(o=>Xa(o,t,r))}if(typeof e=="object")return Xa(e,t,r);if(typeof e=="string"){let i;try{i=JSON.parse(e)}catch(o){throw new G("Expected an array or object, got a string that is not valid JSON",{cause:o})}return Ki(i,t,r,n)}throw new G(`Expected an array or an object, got: ${typeof e}`)}function Xa(e,t,r){if(typeof e!="object")throw new G(`Expected an object, but got '${typeof e}'`);let n={};for(let[i,o]of Object.entries(t))switch(o.type){case"affectedRows":throw new G(`Unexpected 'AffectedRows' node in data mapping for field '${i}'`);case"object":{if(o.serializedName!==null&&!Object.hasOwn(e,o.serializedName))throw new G(`Missing data field (Object): '${i}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`);let s=o.serializedName!==null?e[o.serializedName]:e;n[i]=Ki(s,o.fields,r,o.skipNulls);break}case"field":{let s=o.dbName;if(Object.hasOwn(e,s))n[i]=Am(e[s],s,o.fieldType,r);else throw new G(`Missing data field (Value): '${s}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`)}break;default:$(o,`DataMapper: Invalid data mapping node type: '${o.type}'`)}return n}function Am(e,t,r,n){return e===null?r.arity==="list"?[]:null:r.arity==="list"?e.map((o,s)=>Wi(o,`${t}[${s}]`,r,n)):Wi(e,t,r,n)}function Wi(e,t,r,n){switch(r.type){case"unsupported":return e;case"string":{if(typeof e!="string")throw new G(`Expected a string in column '${t}', got ${typeof e}: ${e}`);return e}case"int":switch(typeof e){case"number":return Math.trunc(e);case"string":{let i=Math.trunc(Number(e));if(Number.isNaN(i)||!Number.isFinite(i))throw new G(`Expected an integer in column '${t}', got string: ${e}`);if(!Number.isSafeInteger(i))throw new G(`Integer value in column '${t}' is too large to represent as a JavaScript number without loss of precision, got: ${e}. Consider using BigInt type.`);return i}default:throw new G(`Expected an integer in column '${t}', got ${typeof e}: ${e}`)}case"bigint":{if(typeof e!="number"&&typeof e!="string")throw new G(`Expected a bigint in column '${t}', got ${typeof e}: ${e}`);return{$type:"BigInt",value:e}}case"float":{if(typeof e=="number")return e;if(typeof e=="string"){let i=Number(e);if(Number.isNaN(i)&&!/^[-+]?nan$/.test(e.toLowerCase()))throw new G(`Expected a float in column '${t}', got string: ${e}`);return i}throw new G(`Expected a float in column '${t}', got ${typeof e}: ${e}`)}case"boolean":{if(typeof e=="boolean")return e;if(typeof e=="number")return e===1;if(typeof e=="string"){if(e==="true"||e==="TRUE"||e==="1")return!0;if(e==="false"||e==="FALSE"||e==="0")return!1;throw new G(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}if(Array.isArray(e)){for(let i of e)if(i!==0)return!0;return!1}throw new G(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}case"decimal":if(typeof e!="number"&&typeof e!="string"&&!se.isDecimal(e))throw new G(`Expected a decimal in column '${t}', got ${typeof e}: ${e}`);return{$type:"Decimal",value:e};case"datetime":{if(typeof e=="string")return{$type:"DateTime",value:Cm(e)};if(typeof e=="number"||e instanceof Date)return{$type:"DateTime",value:e};throw new G(`Expected a date in column '${t}', got ${typeof e}: ${e}`)}case"object":return{$type:"Json",value:br(e)};case"json":return{$type:"Json",value:`${e}`};case"bytes":{switch(r.encoding){case"base64":if(typeof e!="string")throw new G(`Expected a base64-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:e};case"hex":if(typeof e!="string"||!e.startsWith("\\x"))throw new G(`Expected a hex-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:y.from(e.slice(2),"hex").toString("base64")};case"array":if(Array.isArray(e))return{$type:"Bytes",value:y.from(e).toString("base64")};if(e instanceof Uint8Array)return{$type:"Bytes",value:y.from(e).toString("base64")};throw new G(`Expected a byte array in column '${t}', got ${typeof e}: ${e}`);default:$(r.encoding,`DataMapper: Unknown bytes encoding: ${r.encoding}`)}break}case"enum":{let i=n[r.name];if(i===void 0)throw new G(`Unknown enum '${r.name}'`);let o=i[`${e}`];if(o===void 0)throw new G(`Value '${e}' not found in enum '${r.name}'`);return o}default:$(r,`DataMapper: Unknown result type: ${r.type}`)}}var Rm=/\d{2}:\d{2}:\d{2}(?:\.\d+)?(Z|[+-]\d{2}(:?\d{2})?)?$/;function Cm(e){let t=Rm.exec(e);if(t===null)return`${e}T00:00:00Z`;let r=e,[n,i,o]=t;if(i!==void 0&&i!=="Z"&&o===void 0?r=`${e}:00`:i===void 0&&(r=`${e}Z`),n.length===e.length)return`1970-01-01T${r}`;let s=t.index-1;return r[s]===" "&&(r=`${r.slice(0,s)}T${r.slice(s+1)}`),r}c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();var Er;(function(e){e[e.INTERNAL=0]="INTERNAL",e[e.SERVER=1]="SERVER",e[e.CLIENT=2]="CLIENT",e[e.PRODUCER=3]="PRODUCER",e[e.CONSUMER=4]="CONSUMER"})(Er||(Er={}));function Sm(e){switch(e){case"postgresql":case"postgres":case"prisma+postgres":return"postgresql";case"sqlserver":return"mssql";case"mysql":case"sqlite":case"cockroachdb":case"mongodb":return e;default:$(e,`Unknown provider: ${e}`)}}async function Ln({query:e,tracingHelper:t,provider:r,onQuery:n,execute:i}){return await t.runInChildSpan({name:"db_query",kind:Er.CLIENT,attributes:{"db.query.text":e.sql,"db.system.name":Sm(r)}},async()=>{let o=new Date,s=b.now(),a=await i(),f=b.now();return n?.({timestamp:o,duration:f-s,query:e.sql,params:e.args}),a})}c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();function tt(e,t){var r="000000000"+e;return r.substr(r.length-t)}var tl=$e(ys(),1);function Im(){try{return tl.default.hostname()}catch{return g.env._CLUSTER_NETWORK_NAME_||g.env.COMPUTERNAME||"hostname"}}var rl=2,km=tt(g.pid.toString(36),rl),nl=Im(),Om=nl.length,Dm=tt(nl.split("").reduce(function(e,t){return+e+t.charCodeAt(0)},+Om+36).toString(36),rl);function zi(){return km+Dm}c();u();p();m();d();l();c();u();p();m();d();l();function Un(e){return typeof e=="string"&&/^c[a-z0-9]{20,32}$/.test(e)}function Yi(e){let n=Math.pow(36,4),i=0;function o(){return tt((Math.random()*n<<0).toString(36),4)}function s(){return i=int.length&&(Xt.getRandomValues(nt),Lt=0),Lt+=e}function so(e=21){Ed(e|=0);let t="";for(let r=Lt-e;r{let n=new Uint8Array(1);return r.getRandomValues(n),n[0]/255};if(typeof r?.randomBytes=="function")return()=>r.randomBytes(1).readUInt8()/255;if(yt?.randomBytes)return()=>yt.randomBytes(1).readUInt8()/255;throw new ot(it.PRNGDetectFailure,"Failed to find a reliable PRNG")}function vd(){return Cd()?self:typeof window<"u"?window:typeof globalThis<"u"||typeof globalThis<"u"?globalThis:null}function Ad(e,t){let r="";for(;e>0;e--)r=Pd(t)+r;return r}function Rd(e,t=Zl){if(isNaN(e))throw new ot(it.EncodeTimeValueMalformed,`Time must be a number: ${e}`);if(e>zl)throw new ot(it.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${zl}: ${e}`);if(e<0)throw new ot(it.EncodeTimeNegative,`Time must be positive: ${e}`);if(Number.isInteger(e)===!1)throw new ot(it.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let r,n="";for(let i=t;i>0;i--)r=e%Rr,n=Yl.charAt(r)+n,e=(e-r)/Rr;return n}function Cd(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Xl(e,t){let r=t||Td(),n=!e||isNaN(e)?Date.now():e;return Rd(n,Zl)+Ad(xd,r)}c();u();p();m();d();l();c();u();p();m();d();l();var oe=[];for(let e=0;e<256;++e)oe.push((e+256).toString(16).slice(1));function qn(e,t=0){return(oe[e[t+0]]+oe[e[t+1]]+oe[e[t+2]]+oe[e[t+3]]+"-"+oe[e[t+4]]+oe[e[t+5]]+"-"+oe[e[t+6]]+oe[e[t+7]]+"-"+oe[e[t+8]]+oe[e[t+9]]+"-"+oe[e[t+10]]+oe[e[t+11]]+oe[e[t+12]]+oe[e[t+13]]+oe[e[t+14]]+oe[e[t+15]]).toLowerCase()}c();u();p();m();d();l();Xe();var jn=new Uint8Array(256),Bn=jn.length;function Ut(){return Bn>jn.length-16&&(sn(jn),Bn=0),jn.slice(Bn,Bn+=16)}c();u();p();m();d();l();c();u();p();m();d();l();Xe();var ao={randomUUID:on};function Sd(e,t,r){if(ao.randomUUID&&!t&&!e)return ao.randomUUID();e=e||{};let n=e.random??e.rng?.()??Ut();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return qn(n)}var lo=Sd;c();u();p();m();d();l();var co={};function Id(e,t,r){let n;if(e)n=ec(e.random??e.rng?.()??Ut(),e.msecs,e.seq,t,r);else{let i=Date.now(),o=Ut();kd(co,i,o),n=ec(o,co.msecs,co.seq,t,r)}return t??qn(n)}function kd(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function ec(e,t,r,n,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),i=0;else if(i<0||i+16>n.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],n[i++]=t/1099511627776&255,n[i++]=t/4294967296&255,n[i++]=t/16777216&255,n[i++]=t/65536&255,n[i++]=t/256&255,n[i++]=t&255,n[i++]=112|r>>>28&15,n[i++]=r>>>20&255,n[i++]=128|r>>>14&63,n[i++]=r>>>6&255,n[i++]=r<<2&255|e[10]&3,n[i++]=e[11],n[i++]=e[12],n[i++]=e[13],n[i++]=e[14],n[i++]=e[15],n}var uo=Id;var Qn=class{#t={};constructor(){this.register("uuid",new mo),this.register("cuid",new fo),this.register("ulid",new go),this.register("nanoid",new yo),this.register("product",new ho)}snapshot(){return Object.create(this.#t,{now:{value:new po}})}register(t,r){this.#t[t]=r}},po=class{#t=new Date;generate(){return this.#t.toISOString()}},mo=class{generate(t){if(t===4)return lo();if(t===7)return uo();throw new Error("Invalid UUID generator arguments")}},fo=class{generate(t){if(t===1)return il();if(t===2)return(0,tc.createId)();throw new Error("Invalid CUID generator arguments")}},go=class{generate(){return Xl()}},yo=class{generate(t){if(typeof t=="number")return so(t);if(t===void 0)return so();throw new Error("Invalid Nanoid generator arguments")}},ho=class{generate(t,r){if(t===void 0||r===void 0)throw new Error("Invalid Product generator arguments");return Array.isArray(t)&&Array.isArray(r)?t.flatMap(n=>r.map(i=>[n,i])):Array.isArray(t)?t.map(n=>[n,r]):Array.isArray(r)?r.map(n=>[t,n]):[[t,r]]}};c();u();p();m();d();l();function Hn(e,t){return e==null?e:typeof e=="string"?Hn(JSON.parse(e),t):Array.isArray(e)?Dd(e,t):Od(e,t)}function Od(e,t){if(t.pagination){let{skip:r,take:n,cursor:i}=t.pagination;if(r!==null&&r>0||n===0||i!==null&&!Dt(e,i))return null}return nc(e,t.nested)}function nc(e,t){for(let[r,n]of Object.entries(t))e[r]=Hn(e[r],n);return e}function Dd(e,t){if(t.distinct!==null){let r=t.linkingFields!==null?[...t.distinct,...t.linkingFields]:t.distinct;e=_d(e,r)}return t.pagination&&(e=Md(e,t.pagination,t.linkingFields)),t.reverse&&e.reverse(),Object.keys(t.nested).length===0?e:e.map(r=>nc(r,t.nested))}function _d(e,t){let r=new Set,n=[];for(let i of e){let o=Ft(i,t);r.has(o)||(r.add(o),n.push(i))}return n}function Md(e,t,r){if(r===null)return rc(e,t);let n=new Map;for(let o of e){let s=Ft(o,r);n.has(s)||n.set(s,[]),n.get(s).push(o)}let i=Array.from(n.entries());return i.sort(([o],[s])=>os?1:0),i.flatMap(([,o])=>rc(o,t))}function rc(e,{cursor:t,skip:r,take:n}){let i=t!==null?e.findIndex(a=>Dt(a,t)):0;if(i===-1)return[];let o=i+(r??0),s=n!==null?o+n:e.length;return e.slice(o,s)}function Ft(e,t){return JSON.stringify(t.map(r=>e[r]))}c();u();p();m();d();l();c();u();p();m();d();l();function wo(e){return typeof e=="object"&&e!==null&&e.prisma__type==="param"}function bo(e){return typeof e=="object"&&e!==null&&e.prisma__type==="generatorCall"}function Po(e,t,r,n){let i=e.args.map(o=>Te(o,t,r));switch(e.type){case"rawSql":return[Ud(e.sql,i,e.argTypes)];case"templateSql":return(e.chunkable?$d(e.fragments,i,n):[i]).map(s=>{if(n!==void 0&&s.length>n)throw new ce("The query parameter limit supported by your database is exceeded.","P2029");return Nd(e.fragments,e.placeholderFormat,s,e.argTypes)});default:$(e.type,"Invalid query type")}}function Te(e,t,r){for(;Fd(e);)if(wo(e)){let n=t[e.prisma__value.name];if(n===void 0)throw new Error(`Missing value for query variable ${e.prisma__value.name}`);e=n}else if(bo(e)){let{name:n,args:i}=e.prisma__value,o=r[n];if(!o)throw new Error(`Encountered an unknown generator '${n}'`);e=o.generate(...i.map(s=>Te(s,t,r)))}else $(e,`Unexpected unevaluated value type: ${e}`);return Array.isArray(e)&&(e=e.map(n=>Te(n,t,r))),e}function Nd(e,t,r,n){let i="",o={placeholderNumber:1},s=[],a=[];for(let f of xo(e,r,n)){if(i+=Ld(f,t,o),f.type==="stringChunk")continue;let w=s.length,A=s.push(...ic(f))-w;if(f.argType.arity==="tuple"){if(A%f.argType.elements.length!==0)throw new Error(`Malformed query template. Expected the number of parameters to match the tuple arity, but got ${A} parameters for a tuple of arity ${f.argType.elements.length}.`);for(let R=0;REo(t,r.placeholderNumber++)).join(",")})`;case"parameterTupleList":return e.value.map(i=>{let o=i.map(()=>Eo(t,r.placeholderNumber++)).join(e.itemSeparator);return`${e.itemPrefix}${o}${e.itemSuffix}`}).join(e.groupSeparator);default:$(n,"Invalid fragment type")}}function Eo(e,t){return e.hasNumbering?`${e.prefix}${t}`:e.prefix}function Ud(e,t,r){return{sql:e,args:t,argTypes:r}}function Fd(e){return wo(e)||bo(e)}function*xo(e,t,r){let n=0;for(let i of e)switch(i.type){case"parameter":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);yield{...i,value:t[n],argType:r?.[n]},n++;break}case"stringChunk":{yield i;break}case"parameterTuple":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];yield{...i,value:Array.isArray(o)?o:[o],argType:r?.[n]},n++;break}case"parameterTupleList":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];if(!Array.isArray(o))throw new Error("Malformed query template. Tuple list expected.");if(o.length===0)throw new Error("Malformed query template. Tuple list cannot be empty.");for(let s of o)if(!Array.isArray(s))throw new Error("Malformed query template. Tuple expected.");yield{...i,value:o,argType:r?.[n]},n++;break}}}function*ic(e){switch(e.type){case"parameter":yield e.value;break;case"stringChunk":break;case"parameterTuple":yield*e.value;break;case"parameterTupleList":for(let t of e.value)yield*t;break}}function $d(e,t,r){let n=0,i=0;for(let s of xo(e,t,void 0)){let a=0;for(let f of ic(s))a++;i=Math.max(i,a),n+=a}let o=[[]];for(let s of xo(e,t,void 0))switch(s.type){case"parameter":{for(let a of o)a.push(s.value);break}case"stringChunk":break;case"parameterTuple":{let a=s.value.length,f=[];if(r&&o.length===1&&a===i&&n>r&&n-af.map(A=>[...w,A]));break}case"parameterTupleList":{let a=s.value.reduce((R,S)=>R+S.length,0),f=[],w=[],A=0;for(let R of s.value)r&&o.length===1&&a===i&&w.length>0&&n-a+A+R.length>r&&(f.push(w),w=[],A=0),w.push(R),A+=R.length;w.length>0&&f.push(w),o=o.flatMap(R=>f.map(S=>[...R,S]));break}}return o}function Vd(e,t){let r=[];for(let n=0;nt.reduce((r,n,i)=>(r[e.columnNames[i]]=n,r),{}))}function sc(e){return{columns:e.columnNames,types:e.columnTypes.map(t=>qd(t)),rows:e.rows.map(t=>t.map((r,n)=>$t(r,e.columnTypes[n])))}}function $t(e,t){if(e===null)return null;switch(t){case O.Int32:switch(typeof e){case"number":return Math.trunc(e);case"string":return Math.trunc(Number(e));default:throw new Error(`Cannot serialize value of type ${typeof e} as Int32`)}case O.Int32Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int32Array`);return e.map(r=>$t(r,O.Int32));case O.Int64:switch(typeof e){case"number":return BigInt(Math.trunc(e));case"string":return e;default:throw new Error(`Cannot serialize value of type ${typeof e} as Int64`)}case O.Int64Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int64Array`);return e.map(r=>$t(r,O.Int64));case O.Json:switch(typeof e){case"string":return JSON.parse(e);default:throw new Error(`Cannot serialize value of type ${typeof e} as Json`)}case O.JsonArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as JsonArray`);return e.map(r=>$t(r,O.Json));case O.Bytes:if(Array.isArray(e))return new Uint8Array(e);throw new Error(`Cannot serialize value of type ${typeof e} as Bytes`);case O.BytesArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BytesArray`);return e.map(r=>$t(r,O.Bytes));case O.Boolean:switch(typeof e){case"boolean":return e;case"string":return e==="true"||e==="1";case"number":return e===1;default:throw new Error(`Cannot serialize value of type ${typeof e} as Boolean`)}case O.BooleanArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BooleanArray`);return e.map(r=>$t(r,O.Boolean));default:return e}}function qd(e){switch(e){case O.Int32:return"int";case O.Int64:return"bigint";case O.Float:return"float";case O.Double:return"double";case O.Text:return"string";case O.Enum:return"enum";case O.Bytes:return"bytes";case O.Boolean:return"bool";case O.Character:return"char";case O.Numeric:return"decimal";case O.Json:return"json";case O.Uuid:return"uuid";case O.DateTime:return"datetime";case O.Date:return"date";case O.Time:return"time";case O.Int32Array:return"int-array";case O.Int64Array:return"bigint-array";case O.FloatArray:return"float-array";case O.DoubleArray:return"double-array";case O.TextArray:return"string-array";case O.EnumArray:return"string-array";case O.BytesArray:return"bytes-array";case O.BooleanArray:return"bool-array";case O.CharacterArray:return"char-array";case O.NumericArray:return"decimal-array";case O.JsonArray:return"json-array";case O.UuidArray:return"uuid-array";case O.DateTimeArray:return"datetime-array";case O.DateArray:return"date-array";case O.TimeArray:return"time-array";case O.UnknownNumber:return"unknown";case O.Set:return"string";default:$(e,`Unexpected column type: ${e}`)}}c();u();p();m();d();l();function ac(e,t,r){if(!t.every(n=>To(e,n))){let n=Bd(e,r),i=jd(r);throw new ce(n,i,r.context)}}function To(e,t){switch(t.type){case"rowCountEq":return Array.isArray(e)?e.length===t.args:e===null?t.args===0:t.args===1;case"rowCountNeq":return Array.isArray(e)?e.length!==t.args:e===null?t.args!==0:t.args!==1;case"affectedRowCountEq":return e===t.args;case"never":return!1;default:$(t,`Unknown rule type: ${t.type}`)}}function Bd(e,t){switch(t.error_identifier){case"RELATION_VIOLATION":return`The change you are trying to make would violate the required relation '${t.context.relation}' between the \`${t.context.modelA}\` and \`${t.context.modelB}\` models.`;case"MISSING_RECORD":return`An operation failed because it depends on one or more records that were required but not found. No record was found for ${t.context.operation}.`;case"MISSING_RELATED_RECORD":{let r=t.context.neededFor?` (needed to ${t.context.neededFor})`:"";return`An operation failed because it depends on one or more records that were required but not found. No '${t.context.model}' record${r} was found for ${t.context.operation} on ${t.context.relationType} relation '${t.context.relation}'.`}case"INCOMPLETE_CONNECT_INPUT":return`An operation failed because it depends on one or more records that were required but not found. Expected ${t.context.expectedRows} records to be connected, found only ${Array.isArray(e)?e.length:e}.`;case"INCOMPLETE_CONNECT_OUTPUT":return`The required connected records were not found. Expected ${t.context.expectedRows} records to be connected after connect operation on ${t.context.relationType} relation '${t.context.relation}', found ${Array.isArray(e)?e.length:e}.`;case"RECORDS_NOT_CONNECTED":return`The records for relation \`${t.context.relation}\` between the \`${t.context.parent}\` and \`${t.context.child}\` models are not connected.`;default:$(t,`Unknown error identifier: ${t}`)}}function jd(e){switch(e.error_identifier){case"RELATION_VIOLATION":return"P2014";case"RECORDS_NOT_CONNECTED":return"P2017";case"INCOMPLETE_CONNECT_OUTPUT":return"P2018";case"MISSING_RECORD":case"MISSING_RELATED_RECORD":case"INCOMPLETE_CONNECT_INPUT":return"P2025";default:$(e,`Unknown error identifier: ${e}`)}}var Cr=class e{#t;#e;#r;#n=new Qn;#s;#i;#a;#o;#c;constructor({transactionManager:t,placeholderValues:r,onQuery:n,tracingHelper:i,serializer:o,rawSerializer:s,provider:a,connectionInfo:f}){this.#t=t,this.#e=r,this.#r=n,this.#s=i,this.#i=o,this.#a=s??o,this.#o=a,this.#c=f}static forSql(t){return new e({transactionManager:t.transactionManager,placeholderValues:t.placeholderValues,onQuery:t.onQuery,tracingHelper:t.tracingHelper,serializer:oc,rawSerializer:sc,provider:t.provider,connectionInfo:t.connectionInfo})}async run(t,r){let{value:n}=await this.interpretNode(t,r,this.#e,this.#n.snapshot()).catch(i=>_t(i));return n}async interpretNode(t,r,n,i){switch(t.type){case"value":return{value:Te(t.args,n,i)};case"seq":{let o;for(let s of t.args)o=await this.interpretNode(s,r,n,i);return o??{value:void 0}}case"get":return{value:n[t.args.name]};case"let":{let o=Object.create(n);for(let s of t.args.bindings){let{value:a}=await this.interpretNode(s.expr,r,o,i);o[s.name]=a}return this.interpretNode(t.args.expr,r,o,i)}case"getFirstNonEmpty":{for(let o of t.args.names){let s=n[o];if(!lc(s))return{value:s}}return{value:[]}}case"concat":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>s.concat(vo(a)),[]):[]}}case"sum":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>Oe(s)+Oe(a)):0}}case"execute":{let o=Po(t.args,n,i,this.#l()),s=0;for(let a of o)s+=await this.#u(a,r,()=>r.executeRaw(a).catch(f=>t.args.type==="rawSql"?Ji(f):_t(f)));return{value:s}}case"query":{let o=Po(t.args,n,i,this.#l()),s;for(let a of o){let f=await this.#u(a,r,()=>r.queryRaw(a).catch(w=>t.args.type==="rawSql"?Ji(w):_t(w)));s===void 0?s=f:(s.rows.push(...f.rows),s.lastInsertId=f.lastInsertId)}return{value:t.args.type==="rawSql"?this.#a(s):this.#i(s),lastInsertId:s?.lastInsertId}}case"reverse":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);return{value:Array.isArray(o)?o.reverse():o,lastInsertId:s}}case"unique":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(!Array.isArray(o))return{value:o,lastInsertId:s};if(o.length>1)throw new Error(`Expected zero or one element, got ${o.length}`);return{value:o[0]??null,lastInsertId:s}}case"required":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(lc(o))throw new Error("Required value is empty");return{value:o,lastInsertId:s}}case"mapField":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.records,r,n,i);return{value:cc(o,t.args.field),lastInsertId:s}}case"join":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.parent,r,n,i);if(o===null)return{value:null,lastInsertId:s};let a=await Promise.all(t.args.children.map(async f=>({joinExpr:f,childRecords:(await this.interpretNode(f.child,r,n,i)).value})));return{value:Qd(o,a),lastInsertId:s}}case"transaction":{if(!this.#t.enabled)return this.interpretNode(t.args,r,n,i);let o=this.#t.manager,s=await o.startInternalTransaction(),a=await o.getTransaction(s,"query");try{let f=await this.interpretNode(t.args,a,n,i);return await o.commitTransaction(s.id),f}catch(f){throw await o.rollbackTransaction(s.id),f}}case"dataMap":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:el(o,t.args.structure,t.args.enums),lastInsertId:s}}case"validate":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return ac(o,t.args.rules,t.args),{value:o,lastInsertId:s}}case"if":{let{value:o}=await this.interpretNode(t.args.value,r,n,i);return To(o,t.args.rule)?await this.interpretNode(t.args.then,r,n,i):await this.interpretNode(t.args.else,r,n,i)}case"unit":return{value:void 0};case"diff":{let{value:o}=await this.interpretNode(t.args.from,r,n,i),{value:s}=await this.interpretNode(t.args.to,r,n,i),a=w=>w!==null?Ft(Gn(w),t.args.fields):null,f=new Set(vo(s).map(a));return{value:vo(o).filter(w=>!f.has(a(w)))}}case"process":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:Hn(o,t.args.operations),lastInsertId:s}}case"initializeRecord":{let{lastInsertId:o}=await this.interpretNode(t.args.expr,r,n,i),s={};for(let[a,f]of Object.entries(t.args.fields))s[a]=Hd(f,o,n,i);return{value:s,lastInsertId:o}}case"mapRecord":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i),a=o===null?{}:Gn(o);for(let[f,w]of Object.entries(t.args.fields))a[f]=Gd(w,a[f],n,i);return{value:a,lastInsertId:s}}default:$(t,`Unexpected node type: ${t.type}`)}}#l(){return this.#c?.maxBindValues!==void 0?this.#c.maxBindValues:this.#p()}#p(){if(this.#o!==void 0)switch(this.#o){case"cockroachdb":case"postgres":case"postgresql":case"prisma+postgres":return 32766;case"mysql":return 65535;case"sqlite":return 999;case"sqlserver":return 2098;case"mongodb":return;default:$(this.#o,`Unexpected provider: ${this.#o}`)}}#u(t,r,n){return Ln({query:t,execute:n,provider:this.#o??r.provider,tracingHelper:this.#s,onQuery:this.#r})}};function lc(e){return Array.isArray(e)?e.length===0:e==null}function vo(e){return Array.isArray(e)?e:[e]}function Oe(e){if(typeof e=="number")return e;if(typeof e=="string")return Number(e);throw new Error(`Expected number, got ${typeof e}`)}function Gn(e){if(typeof e=="object"&&e!==null)return e;throw new Error(`Expected object, got ${typeof e}`)}function cc(e,t){return Array.isArray(e)?e.map(r=>cc(r,t)):typeof e=="object"&&e!==null?e[t]??null:e}function Qd(e,t){for(let{joinExpr:r,childRecords:n}of t){let i=r.on.map(([a])=>a),o=r.on.map(([,a])=>a),s={};for(let a of Array.isArray(e)?e:[e]){let f=Gn(a),w=Ft(f,i);s[w]||(s[w]=[]),s[w].push(f),r.isRelationUnique?f[r.parentField]=null:f[r.parentField]=[]}for(let a of Array.isArray(n)?n:[n]){if(a===null)continue;let f=Ft(Gn(a),o);for(let w of s[f]??[])r.isRelationUnique?w[r.parentField]=a:w[r.parentField].push(a)}}return e}function Hd(e,t,r,n){switch(e.type){case"value":return Te(e.value,r,n);case"lastInsertId":return t;default:$(e,`Unexpected field initializer type: ${e.type}`)}}function Gd(e,t,r,n){switch(e.type){case"set":return Te(e.value,r,n);case"add":return Oe(t)+Oe(Te(e.value,r,n));case"subtract":return Oe(t)-Oe(Te(e.value,r,n));case"multiply":return Oe(t)*Oe(Te(e.value,r,n));case"divide":{let i=Oe(t),o=Oe(Te(e.value,r,n));return o===0?null:i/o}default:$(e,`Unexpected field operation type: ${e.type}`)}}c();u();p();m();d();l();c();u();p();m();d();l();async function Jd(){return globalThis.crypto??await Promise.resolve().then(()=>(Xe(),xi))}async function uc(){return(await Jd()).randomUUID()}c();u();p();m();d();l();var Ee=class extends ce{name="TransactionManagerError";constructor(t,r){super("Transaction API error: "+t,"P2028",r)}},Sr=class extends Ee{constructor(){super("Transaction not found. Transaction ID is invalid, refers to an old closed transaction Prisma doesn't have information about anymore, or was obtained before disconnecting.")}},Jn=class extends Ee{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a committed transaction.`)}},Wn=class extends Ee{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a transaction that was rolled back.`)}},Kn=class extends Ee{constructor(){super("Unable to start a transaction in the given time.")}},zn=class extends Ee{constructor(t,{timeout:r,timeTaken:n}){super(`A ${t} cannot be executed on an expired transaction. The timeout for this transaction was ${r} ms, however ${n} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction.`,{operation:t,timeout:r,timeTaken:n})}},Vt=class extends Ee{constructor(t){super(`Internal Consistency Error: ${t}`)}},Yn=class extends Ee{constructor(t){super(`Invalid isolation level: ${t}`,{isolationLevel:t})}};var Wd=100,Ir=K("prisma:client:transactionManager"),Kd=()=>({sql:"COMMIT",args:[],argTypes:[]}),zd=()=>({sql:"ROLLBACK",args:[],argTypes:[]}),Yd=()=>({sql:'-- Implicit "COMMIT" query via underlying driver',args:[],argTypes:[]}),Zd=()=>({sql:'-- Implicit "ROLLBACK" query via underlying driver',args:[],argTypes:[]}),kr=class{transactions=new Map;closedTransactions=[];driverAdapter;transactionOptions;tracingHelper;#t;#e;constructor({driverAdapter:t,transactionOptions:r,tracingHelper:n,onQuery:i,provider:o}){this.driverAdapter=t,this.transactionOptions=r,this.tracingHelper=n,this.#t=i,this.#e=o}async startInternalTransaction(t){let r=t!==void 0?this.#a(t):{};return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#r(r))}async startTransaction(t){let r=t!==void 0?this.#a(t):this.transactionOptions;return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#r(r))}async#r(t){let r={id:await uc(),status:"waiting",timer:void 0,timeout:t.timeout,startedAt:Date.now(),transaction:void 0};this.transactions.set(r.id,r);let n=!1,i=pc(()=>n=!0,t.maxWait);switch(i?.unref?.(),r.transaction=await this.driverAdapter.startTransaction(t.isolationLevel).catch(_t),clearTimeout(i),r.status){case"waiting":if(n)throw await this.#i(r,"timed_out"),new Kn;return r.status="running",r.timer=this.#s(r.id,t.timeout),{id:r.id};case"timed_out":case"running":case"committed":case"rolled_back":throw new Vt(`Transaction in invalid state ${r.status} although it just finished startup.`);default:$(r.status,"Unknown transaction status.")}}async commitTransaction(t){return await this.tracingHelper.runInChildSpan("commit_transaction",async()=>{let r=this.#n(t,"commit");await this.#i(r,"committed")})}async rollbackTransaction(t){return await this.tracingHelper.runInChildSpan("rollback_transaction",async()=>{let r=this.#n(t,"rollback");await this.#i(r,"rolled_back")})}async getTransaction(t,r){let n=this.#n(t.id,r);if(n.status==="closing"&&(await n.closing,n=this.#n(t.id,r)),!n.transaction)throw new Sr;return n.transaction}#n(t,r){let n=this.transactions.get(t);if(!n){let i=this.closedTransactions.find(o=>o.id===t);if(i)switch(Ir("Transaction already closed.",{transactionId:t,status:i.status}),i.status){case"closing":case"waiting":case"running":throw new Vt("Active transaction found in closed transactions list.");case"committed":throw new Jn(r);case"rolled_back":throw new Wn(r);case"timed_out":throw new zn(r,{timeout:i.timeout,timeTaken:Date.now()-i.startedAt})}else throw Ir("Transaction not found.",t),new Sr}if(["committed","rolled_back","timed_out"].includes(n.status))throw new Vt("Closed transaction found in active transactions map.");return n}async cancelAllTransactions(){await Promise.allSettled([...this.transactions.values()].map(t=>this.#i(t,"rolled_back")))}#s(t,r){let n=Date.now(),i=pc(async()=>{Ir("Transaction timed out.",{transactionId:t,timeoutStartedAt:n,timeout:r});let o=this.transactions.get(t);o&&["running","waiting"].includes(o.status)?await this.#i(o,"timed_out"):Ir("Transaction already committed or rolled back when timeout happened.",t)},r);return i?.unref?.(),i}async#i(t,r){let n=async()=>{Ir("Closing transaction.",{transactionId:t.id,status:r});try{if(t.transaction&&r==="committed")if(t.transaction.options.usePhantomQuery)await this.#o(Yd(),t.transaction,()=>t.transaction.commit());else{let i=Kd();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.commit()}else if(t.transaction)if(t.transaction.options.usePhantomQuery)await this.#o(Zd(),t.transaction,()=>t.transaction.rollback());else{let i=zd();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.rollback()}}finally{t.status=r,clearTimeout(t.timer),t.timer=void 0,this.transactions.delete(t.id),this.closedTransactions.push(t),this.closedTransactions.length>Wd&&this.closedTransactions.shift()}};t.status==="closing"?(await t.closing,this.#n(t.id,r==="committed"?"commit":"rollback")):await Object.assign(t,{status:"closing",reason:r,closing:n()}).closing}#a(t){if(!t.timeout)throw new Ee("timeout is required");if(!t.maxWait)throw new Ee("maxWait is required");if(t.isolationLevel==="SNAPSHOT")throw new Yn(t.isolationLevel);return{...t,timeout:t.timeout,maxWait:t.maxWait}}#o(t,r,n){return Ln({query:t,execute:n,provider:this.#e??r.provider,tracingHelper:this.tracingHelper,onQuery:this.#t})}};function pc(e,t){return t!==void 0?setTimeout(e,t):void 0}var Zn="6.19.2";c();u();p();m();d();l();var Xn=class e{#t;#e;#r;#n;constructor(t,r,n){this.#t=t,this.#e=r,this.#r=n,this.#n=r.getConnectionInfo?.()}static async connect(t){let r,n;try{r=await t.driverAdapterFactory.connect(),n=new kr({driverAdapter:r,transactionOptions:t.transactionOptions,tracingHelper:t.tracingHelper,onQuery:t.onQuery,provider:t.provider})}catch(i){throw await r?.dispose(),i}return new e(t,r,n)}getConnectionInfo(){let t=this.#n??{supportsRelationJoins:!1};return Promise.resolve({provider:this.#e.provider,connectionInfo:t})}async execute({plan:t,placeholderValues:r,transaction:n,batchIndex:i}){let o=n?await this.#r.getTransaction(n,i!==void 0?"batch query":"query"):this.#e;return await Cr.forSql({transactionManager:n?{enabled:!1}:{enabled:!0,manager:this.#r},placeholderValues:r,onQuery:this.#t.onQuery,tracingHelper:this.#t.tracingHelper,provider:this.#t.provider,connectionInfo:this.#n}).run(t,o)}async startTransaction(t){return{...await this.#r.startTransaction(t),payload:void 0}}async commitTransaction(t){await this.#r.commitTransaction(t.id)}async rollbackTransaction(t){await this.#r.rollbackTransaction(t.id)}async disconnect(){try{await this.#r.cancelAllTransactions()}finally{await this.#e.dispose()}}apiKey(){return null}};c();u();p();m();d();l();c();u();p();m();d();l();var ei=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function mc(e,t,r){let n=r||{},i=n.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ei.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!ei.test(o))throw new TypeError("argument val is invalid");let s=e+"="+o;if(n.maxAge!==void 0&&n.maxAge!==null){let a=n.maxAge-0;if(Number.isNaN(a)||!Number.isFinite(a))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(a)}if(n.domain){if(!ei.test(n.domain))throw new TypeError("option domain is invalid");s+="; Domain="+n.domain}if(n.path){if(!ei.test(n.path))throw new TypeError("option path is invalid");s+="; Path="+n.path}if(n.expires){if(!ef(n.expires)||Number.isNaN(n.expires.valueOf()))throw new TypeError("option expires is invalid");s+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":{s+="; Priority=Low";break}case"medium":{s+="; Priority=Medium";break}case"high":{s+="; Priority=High";break}default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:{s+="; SameSite=Strict";break}case"lax":{s+="; SameSite=Lax";break}case"strict":{s+="; SameSite=Strict";break}case"none":{s+="; SameSite=None";break}default:throw new TypeError("option sameSite is invalid")}return n.partitioned&&(s+="; Partitioned"),s}function ef(e){return Object.prototype.toString.call(e)==="[object Date]"||e instanceof Date}function dc(e,t){let r=(e||"").split(";").filter(f=>typeof f=="string"&&!!f.trim()),n=r.shift()||"",i=tf(n),o=i.name,s=i.value;try{s=t?.decode===!1?s:(t?.decode||decodeURIComponent)(s)}catch{}let a={name:o,value:s};for(let f of r){let w=f.split("="),A=(w.shift()||"").trimStart().toLowerCase(),R=w.join("=");switch(A){case"expires":{a.expires=new Date(R);break}case"max-age":{a.maxAge=Number.parseInt(R,10);break}case"secure":{a.secure=!0;break}case"httponly":{a.httpOnly=!0;break}case"samesite":{a.sameSite=R;break}default:a[A]=R}}return a}function tf(e){let t="",r="",n=e.split("=");return n.length>1?(t=n.shift(),r=n.join("=")):r=e,{name:t,value:r}}c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();var rf=()=>globalThis.process?.release?.name==="node",nf=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,of=()=>!!globalThis.Deno,sf=()=>typeof globalThis.Netlify=="object",af=()=>typeof globalThis.EdgeRuntime=="object",lf=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function cf(){return[[sf,"netlify"],[af,"edge-light"],[lf,"workerd"],[of,"deno"],[nf,"bun"],[rf,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var uf={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function ti(){let e=cf();return{id:e,prettyName:uf[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}function qt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw ti().id==="workerd"?new F(`error: Environment variable not found: ${s.fromEnvVar}. + +In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new F(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new F("error: Missing URL environment variable, value, or override.",n);return i}c();u();p();m();d();l();c();u();p();m();d();l();c();u();p();m();d();l();var ri=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var ge=class extends ri{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};c();u();p();m();d();l();function N(e,t){return{...e,isRetryable:t}}var st=class extends ge{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,N(r,!1))}};D(st,"InvalidDatasourceError");function ni(e){let t={clientVersion:e.clientVersion},r=Object.keys(e.inlineDatasources)[0],n=qt({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,clientVersion:e.clientVersion,env:{...e.env,...typeof g<"u"?g.env:{}}}),i;try{i=new URL(n)}catch{throw new st(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==ln)throw new st(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new st(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);let f=Ti(i)?"http:":"https:";g.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR&&i.searchParams.has("use_http")&&(f="http:");let w=new URL(i.href.replace(o,f));return{apiKey:a,url:w}}c();u();p();m();d();l();var fc=$e(Ts()),Bt=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,transactionId:r}={}){let n={Accept:"application/json",Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json","Prisma-Engine-Hash":this.engineHash,"Prisma-Engine-Version":fc.enginesVersion};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-Transaction-Id"]=r);let i=this.#t();return i.length>0&&(n["X-Capture-Telemetry"]=i.join(", ")),n}#t(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}};c();u();p();m();d();l();function pf(e){return e[0]*1e3+e[1]/1e6}function jt(e){return new Date(pf(e))}var gc=K("prisma:client:clientEngine:remoteExecutor"),ii=class{#t;#e;#r;#n;#s;constructor(t){this.#t=t.clientVersion,this.#n=t.logEmitter,this.#s=t.tracingHelper;let{url:r,apiKey:n}=ni({clientVersion:t.clientVersion,env:t.env,inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources});this.#r=new Ao(r),this.#e=new Bt({apiKey:n,engineHash:t.clientVersion,logLevel:t.logLevel,logQueries:t.logQueries,tracingHelper:t.tracingHelper})}async getConnectionInfo(){return await this.#i({path:"/connection-info",method:"GET"})}async execute({plan:t,placeholderValues:r,batchIndex:n,model:i,operation:o,transaction:s,customFetch:a}){return(await this.#i({path:s?`/transaction/${s.id}/query`:"/query",method:"POST",body:{model:i,operation:o,plan:t,params:r},batchRequestIdx:n,fetch:a})).data}async startTransaction(t){return{...await this.#i({path:"/transaction/start",method:"POST",body:t}),payload:void 0}}async commitTransaction(t){await this.#i({path:`/transaction/${t.id}/commit`,method:"POST"})}async rollbackTransaction(t){await this.#i({path:`/transaction/${t.id}/rollback`,method:"POST"})}disconnect(){return Promise.resolve()}apiKey(){return this.#e.apiKey}async#i({path:t,method:r,body:n,fetch:i=globalThis.fetch,batchRequestIdx:o}){let s=await this.#r.request({method:r,path:t,headers:this.#e.build(),body:n,fetch:i});s.ok||await this.#a(s,o);let a=await s.json();return typeof a.extensions=="object"&&a.extensions!==null&&this.#o(a.extensions),a}async#a(t,r){let n=t.headers.get("Prisma-Error-Code"),i=await t.text(),o,s=i;try{o=JSON.parse(i)}catch{o={}}typeof o.code=="string"&&(n=o.code),typeof o.error=="string"?s=o.error:typeof o.message=="string"?s=o.message:typeof o.InvalidRequestError=="object"&&o.InvalidRequestError!==null&&typeof o.InvalidRequestError.reason=="string"&&(s=o.InvalidRequestError.reason),s=s||`HTTP ${t.status}: ${t.statusText}`;let a=typeof o.meta=="object"&&o.meta!==null?o.meta:o;throw new X(s,{clientVersion:this.#t,code:n??"P6000",batchRequestIdx:r,meta:a})}#o(t){if(t.logs)for(let r of t.logs)this.#c(r);t.traces&&this.#s.dispatchEngineSpans(t.traces)}#c(t){switch(t.level){case"debug":case"trace":gc(t);break;case"error":case"warn":case"info":{this.#n.emit(t.level,{timestamp:jt(t.timestamp),message:t.attributes.message??"",target:t.target??"RemoteExecutor"});break}case"query":{this.#n.emit("query",{query:t.attributes.query??"",timestamp:jt(t.timestamp),duration:t.attributes.duration_ms??0,params:t.attributes.params??"",target:t.target??"RemoteExecutor"});break}default:throw new Error(`Unexpected log level: ${t.level}`)}}},Ao=class{#t;#e;#r;constructor(t){this.#t=t,this.#e=new Map}async request({method:t,path:r,headers:n,body:i,fetch:o}){let s=new URL(r,this.#t),a=this.#n(s);a&&(n.Cookie=a),this.#r&&(n["Accelerate-Query-Engine-Jwt"]=this.#r);let f=await o(s.href,{method:t,body:i!==void 0?JSON.stringify(i):void 0,headers:n});return gc(t,s,f.status,f.statusText),this.#r=f.headers.get("Accelerate-Query-Engine-Jwt")??void 0,this.#s(s,f),f}#n(t){let r=[],n=new Date;for(let[i,o]of this.#e){if(o.expires&&o.expires0?r.join("; "):void 0}#s(t,r){let n=r.headers.getSetCookie?.()||[];if(n.length===0){let i=r.headers.get("Set-Cookie");i&&n.push(i)}for(let i of n){let o=dc(i),s=o.domain??t.hostname,a=o.path??"/",f=`${s}:${a}:${o.name}`;this.#e.set(f,{name:o.name,value:o.value,domain:s,path:a,expires:o.expires})}}};c();u();p();m();d();l();var Ro={},yc={async loadQueryCompiler(e){let{clientVersion:t,compilerWasm:r}=e;if(r===void 0)throw new F("WASM query compiler was unexpectedly `undefined`",t);let n;return e.activeProvider===void 0||Ro[e.activeProvider]===void 0?(n=(async()=>{let i=await r.getRuntime(),o=await r.getQueryCompilerWasmModule();if(o==null)throw new F("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",t);let s={"./query_compiler_bg.js":i},a=new WebAssembly.Instance(o,s),f=a.exports.__wbindgen_start;return i.__wbg_set_wasm(a.exports),f(),i.QueryCompiler})(),e.activeProvider!==void 0&&(Ro[e.activeProvider]=n)):n=Ro[e.activeProvider],await n}};var mf="P2038",Or=K("prisma:client:clientEngine"),wc=globalThis;wc.PRISMA_WASM_PANIC_REGISTRY={set_message(e){throw new ae(e,Zn)}};var Dr=class{name="ClientEngine";#t;#e={type:"disconnected"};#r;#n;config;datamodel;logEmitter;logQueries;logLevel;tracingHelper;#s;constructor(t,r,n){if(r)this.#n={remote:!0};else if(t.adapter)this.#n={remote:!1,driverAdapterFactory:t.adapter},Or("Using driver adapter: %O",t.adapter);else throw new F("Missing configured driver adapter. Engine type `client` requires an active driver adapter. Please check your PrismaClient initialization code.",t.clientVersion,mf);this.#r=n??yc,this.config=t,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug"),this.logQueries&&(this.#s=i=>{this.logEmitter.emit("query",{...i,params:br(i.params),target:"ClientEngine"})})}applyPendingMigrations(){throw new Error("Cannot call applyPendingMigrations on engine type client.")}async#i(){switch(this.#e.type){case"disconnected":{let t=this.tracingHelper.runInChildSpan("connect",async()=>{let r,n;try{r=await this.#a(),n=await this.#o(r)}catch(o){throw this.#e={type:"disconnected"},n?.free(),await r?.disconnect(),o}let i={executor:r,queryCompiler:n};return this.#e={type:"connected",engine:i},i});return this.#e={type:"connecting",promise:t},await t}case"connecting":return await this.#e.promise;case"connected":return this.#e.engine;case"disconnecting":return await this.#e.promise,await this.#i()}}async#a(){return this.#n.remote?new ii({clientVersion:this.config.clientVersion,env:this.config.env,inlineDatasources:this.config.inlineDatasources,logEmitter:this.logEmitter,logLevel:this.logLevel,logQueries:this.logQueries,overrideDatasources:this.config.overrideDatasources,tracingHelper:this.tracingHelper}):await Xn.connect({driverAdapterFactory:this.#n.driverAdapterFactory,tracingHelper:this.tracingHelper,transactionOptions:{...this.config.transactionOptions,isolationLevel:this.#m(this.config.transactionOptions.isolationLevel)},onQuery:this.#s,provider:this.config.activeProvider})}async#o(t){let r=this.#t;r===void 0&&(r=await this.#r.loadQueryCompiler(this.config),this.#t=r);let{provider:n,connectionInfo:i}=await t.getConnectionInfo();try{return this.#u(()=>new r({datamodel:this.datamodel,provider:n,connectionInfo:i}),void 0,!1)}catch(o){throw this.#c(o)}}#c(t){if(t instanceof ae)return t;try{let r=JSON.parse(t.message);return new F(r.message,this.config.clientVersion,r.error_code)}catch{return t}}#l(t,r){if(t instanceof F)return t;if(t.code==="GenericFailure"&&t.message?.startsWith("PANIC:"))return new ae(hc(this,t.message,r),this.config.clientVersion);if(t instanceof ce)return new X(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion});try{let n=JSON.parse(t);return new ne(`${n.message} +${n.backtrace}`,{clientVersion:this.config.clientVersion})}catch{return t}}#p(t){return t instanceof ae?t:typeof t.message=="string"&&typeof t.code=="string"?new X(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion}):typeof t.message=="string"?new ne(t.message,{clientVersion:this.config.clientVersion}):t}#u(t,r,n=!0){let i=wc.PRISMA_WASM_PANIC_REGISTRY.set_message,o;globalThis.PRISMA_WASM_PANIC_REGISTRY.set_message=s=>{o=s};try{return t()}finally{if(globalThis.PRISMA_WASM_PANIC_REGISTRY.set_message=i,o)throw this.#t=void 0,n&&this.stop().catch(s=>Or("failed to disconnect:",s)),new ae(hc(this,o,r),this.config.clientVersion)}}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the client engine, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){await this.#i()}async stop(){switch(this.#e.type){case"disconnected":return;case"connecting":return await this.#e.promise,await this.stop();case"connected":{let t=this.#e.engine,r=this.tracingHelper.runInChildSpan("disconnect",async()=>{try{await t.executor.disconnect(),t.queryCompiler.free()}finally{this.#e={type:"disconnected"}}});return this.#e={type:"disconnecting",promise:r},await r}case"disconnecting":return await this.#e.promise}}version(){return"unknown"}async transaction(t,r,n){let i,{executor:o}=await this.#i();try{if(t==="start"){let s=n;i=await o.startTransaction({...s,isolationLevel:this.#m(s.isolationLevel)})}else if(t==="commit"){let s=n;await o.commitTransaction(s)}else if(t==="rollback"){let s=n;await o.rollbackTransaction(s)}else Me(t,"Invalid transaction action.")}catch(s){throw this.#l(s)}return i?{id:i.id,payload:void 0}:void 0}async request(t,{interactiveTransaction:r,customDataProxyFetch:n}){Or("sending request");let i=JSON.stringify(t),{executor:o,queryCompiler:s}=await this.#i().catch(f=>{throw this.#l(f,i)}),a;try{a=this.#u(()=>this.#d({queries:[t],execute:()=>s.compile(i)}))}catch(f){throw this.#p(f)}try{Or("query plan created",a);let f={},w=await o.execute({plan:a,model:t.modelName,operation:t.action,placeholderValues:f,transaction:r,batchIndex:void 0,customFetch:n?.(globalThis.fetch)});return Or("query plan executed"),{data:{[t.action]:w}}}catch(f){throw this.#l(f,i)}}async requestBatch(t,{transaction:r,customDataProxyFetch:n}){if(t.length===0)return[];let i=t[0].action,o=JSON.stringify(kt(t,r)),{executor:s,queryCompiler:a}=await this.#i().catch(w=>{throw this.#l(w,o)}),f;try{f=this.#u(()=>this.#d({queries:t,execute:()=>a.compileBatch(o)}))}catch(w){throw this.#p(w)}try{let w;r?.kind==="itx"&&(w=r.options);let A={};switch(f.type){case"multi":{if(r?.kind!=="itx"){let C=r?.options.isolationLevel?{...this.config.transactionOptions,isolationLevel:r.options.isolationLevel}:this.config.transactionOptions;w=await this.transaction("start",{},C)}let R=[],S=!1;for(let[C,L]of f.plans.entries())try{let k=await s.execute({plan:L,placeholderValues:A,model:t[C].modelName,operation:t[C].action,batchIndex:C,transaction:w,customFetch:n?.(globalThis.fetch)});R.push({data:{[t[C].action]:k}})}catch(k){R.push(k),S=!0;break}return w!==void 0&&r?.kind!=="itx"&&(S?await this.transaction("rollback",{},w):await this.transaction("commit",{},w)),R}case"compacted":{if(!t.every(C=>C.action===i))throw new Error("All queries in a batch must have the same action");let R=await s.execute({plan:f.plan,placeholderValues:A,model:t[0].modelName,operation:i,batchIndex:void 0,transaction:w,customFetch:n?.(globalThis.fetch)});return Za(R,f).map(C=>({data:{[i]:C}}))}}}catch(w){throw this.#l(w,o)}}metrics(t){throw new Error("Method not implemented.")}async apiKey(){let{executor:t}=await this.#i();return t.apiKey()}#m(t){switch(t){case void 0:return;case"ReadUncommitted":return"READ UNCOMMITTED";case"ReadCommitted":return"READ COMMITTED";case"RepeatableRead":return"REPEATABLE READ";case"Serializable":return"SERIALIZABLE";case"Snapshot":return"SNAPSHOT";default:throw new X(`Inconsistent column data: Conversion failed: Invalid isolation level \`${t}\``,{code:"P2023",clientVersion:this.config.clientVersion,meta:{providedIsolationLevel:t}})}}#d({queries:t,execute:r}){return this.tracingHelper.runInChildSpan({name:"compile",attributes:{models:t.map(n=>n.modelName).filter(n=>n!==void 0),actions:t.map(n=>n.action)}},r)}};function hc(e,t,r){return Ha({binaryTarget:void 0,title:t,version:e.config.clientVersion,engineVersion:"unknown",database:e.config.activeProvider,query:r})}c();u();p();m();d();l();c();u();p();m();d();l();var Qt=class extends ge{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",N(t,!0))}};D(Qt,"ForcedRetryError");c();u();p();m();d();l();var at=class extends ge{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,N(r,!1))}};D(at,"NotImplementedYetError");c();u();p();m();d();l();c();u();p();m();d();l();var Q=class extends ge{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var lt=class extends Q{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",N(t,!0))}};D(lt,"SchemaMissingError");c();u();p();m();d();l();c();u();p();m();d();l();var Co="This request could not be understood by the server",_r=class extends Q{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||Co,N(t,!1)),n&&(this.code=n)}};D(_r,"BadRequestError");c();u();p();m();d();l();var Mr=class extends Q{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",N(t,!0)),this.logs=r}};D(Mr,"HealthcheckTimeoutError");c();u();p();m();d();l();var Nr=class extends Q{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,N(t,!0)),this.logs=n}};D(Nr,"EngineStartupError");c();u();p();m();d();l();var Lr=class extends Q{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",N(t,!1))}};D(Lr,"EngineVersionNotSupportedError");c();u();p();m();d();l();var So="Request timed out",Ur=class extends Q{name="GatewayTimeoutError";code="P5009";constructor(t,r=So){super(r,N(t,!1))}};D(Ur,"GatewayTimeoutError");c();u();p();m();d();l();var df="Interactive transaction error",Fr=class extends Q{name="InteractiveTransactionError";code="P5015";constructor(t,r=df){super(r,N(t,!1))}};D(Fr,"InteractiveTransactionError");c();u();p();m();d();l();var ff="Request parameters are invalid",$r=class extends Q{name="InvalidRequestError";code="P5011";constructor(t,r=ff){super(r,N(t,!1))}};D($r,"InvalidRequestError");c();u();p();m();d();l();var Io="Requested resource does not exist",Vr=class extends Q{name="NotFoundError";code="P5003";constructor(t,r=Io){super(r,N(t,!1))}};D(Vr,"NotFoundError");c();u();p();m();d();l();var ko="Unknown server error",Ht=class extends Q{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||ko,N(t,!0)),this.logs=n}};D(Ht,"ServerError");c();u();p();m();d();l();var Oo="Unauthorized, check your connection string",qr=class extends Q{name="UnauthorizedError";code="P5007";constructor(t,r=Oo){super(r,N(t,!1))}};D(qr,"UnauthorizedError");c();u();p();m();d();l();var Do="Usage exceeded, retry again later",Br=class extends Q{name="UsageExceededError";code="P5008";constructor(t,r=Do){super(r,N(t,!0))}};D(Br,"UsageExceededError");async function gf(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function jr(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await gf(e);if(n.type==="QueryEngineError")throw new X(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new Ht(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new lt(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Lr(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Nr(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new F(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Mr(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Fr(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new $r(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new qr(r,Gt(Oo,n));if(e.status===404)return new Vr(r,Gt(Io,n));if(e.status===429)throw new Br(r,Gt(Do,n));if(e.status===504)throw new Ur(r,Gt(So,n));if(e.status>=500)throw new Ht(r,Gt(ko,n));if(e.status>=400)throw new _r(r,Gt(Co,n))}function Gt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}c();u();p();m();d();l();function bc(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}c();u();p();m();d();l();var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ec(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,f,w,A;for(let R=0;R>18,a=(A&258048)>>12,f=(A&4032)>>6,w=A&63,r+=Fe[s]+Fe[a]+Fe[f]+Fe[w];return i==1?(A=t[o],s=(A&252)>>2,a=(A&3)<<4,r+=Fe[s]+Fe[a]+"=="):i==2&&(A=t[o]<<8|t[o+1],s=(A&64512)>>10,a=(A&1008)>>4,f=(A&15)<<2,r+=Fe[s]+Fe[a]+Fe[f]+"="),r}c();u();p();m();d();l();function xc(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new F("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}c();u();p();m();d();l();var Pc={"@prisma/debug":"workspace:*","@prisma/engines-version":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};c();u();p();m();d();l();c();u();p();m();d();l();var Qr=class extends ge{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: +${t}`,N(r,!0))}};D(Qr,"RequestError");async function ct(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new Qr(a,{clientVersion:n,cause:s})}}var hf=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Tc=K("prisma:client:dataproxyEngine");async function wf(e,t){let r=Pc["@prisma/engines-version"],n=t.clientVersion??"unknown";if(g.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return g.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&hf.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,f,w]=s.split("."),A=bf(`<=${a}.${f}.${w}`),R=await ct(A,{clientVersion:n});if(!R.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${R.status} ${R.statusText}, response body: ${await R.text()||""}`);let S=await R.text();Tc("length of body fetched from unpkg.com",S.length);let C;try{C=JSON.parse(S)}catch(L){throw console.error("JSON.parse error: body fetched from unpkg.com: ",S),L}return C.version}throw new at("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function vc(e,t){let r=await wf(e,t);return Tc("version",r),r}function bf(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Ac=3,Hr=K("prisma:client:dataproxyEngine"),Gr=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){xc(t),this.config=t,this.env=t.env,this.inlineSchema=Ec(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.protocol=r.protocol,this.headerBuilder=new Bt({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel??"error",logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await vc(this.host,this.config),Hr("host",this.host),Hr("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":Hr(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:jt(r.timestamp),message:r.attributes.message??"",target:r.target??"BinaryEngine"});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:jt(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target??"BinaryEngine"});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}//${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await ct(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||Hr("schema response status",r.status);let n=await jr(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=kt(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(f=>(f.extensions&&this.propagateResponseExtensions(f.extensions),"errors"in f?this.convertProtocolErrorsToClientError(f.errors):f))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await ct(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,transactionId:i?.id}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||Hr("graphql response status",a.status),await this.handleError(await jr(a,this.clientVersion));let f=await a.json();if(f.extensions&&this.propagateResponseExtensions(f.extensions),"errors"in f)throw this.convertProtocolErrorsToClientError(f.errors);return"batchResult"in f?f.batchResult:f}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let f=await ct(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await jr(f,this.clientVersion));let w=await f.json(),{extensions:A}=w;A&&this.propagateResponseExtensions(A);let R=w.id,S=w["data-proxy"].endpoint;return{id:R,payload:{endpoint:S}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await ct(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await jr(a,this.clientVersion));let f=await a.json(),{extensions:w}=f;w&&this.propagateResponseExtensions(w);return}}})}getURLAndAPIKey(){return ni({clientVersion:this.clientVersion,env:this.env,inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources})}metrics(){throw new at("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof ge)||!i.isRetryable)throw i;if(r>=Ac)throw i instanceof Qt?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Ac} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await bc(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof lt)throw await this.uploadSchema(),new Qt({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?_n(t[0],this.config.clientVersion,this.config.activeProvider):new ne(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};c();u();p();m();d();l();function Rc({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=k=>{i.push({_tag:"warning",value:k})},a=k=>{let M=k.join(` +`);o.push({_tag:"error",value:M})},f=!!e?.startsWith("prisma://"),w=cn(e),A=!!t,R=f||w;!A&&r&&R&&n!=="client"&&n!=="wasm-compiler-edge"&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let S=R||!r;A&&(S||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):R?a(["You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.","Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter."]):r||a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let C={accelerate:S,ppg:w,driverAdapters:A};function L(k){return k.length>0}return L(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:C}:{ok:!0,diagnostics:{warnings:i},isUsing:C}}function Cc({copyEngine:e=!0},t){let r;try{r=qt({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...g.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=Rc({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"wasm-compiler-edge"});for(let R of o.warnings)rr(...R.value);if(!n){let R=o.errors[0];throw new ie(R.value,{clientVersion:t.clientVersion})}let s=gt(t.generator),a=s==="library",f=s==="binary",w=s==="client",A=(i.accelerate||i.ppg)&&!i.driverAdapters;return w?new Dr(t,A):i.accelerate?new Gr(t):(i.driverAdapters,new _o({clientVersion:t.clientVersion}))}var _o=class{constructor(t){return new Proxy(this,{get(r,n){let i=`In order to run Prisma Client on edge runtime, either: +- Use Prisma Accelerate: https://pris.ly/d/accelerate +- Use Driver Adapters: https://pris.ly/d/driver-adapters`;throw new ie(i,t)}})}};c();u();p();m();d();l();function Sc({generator:e}){return e?.previewFeatures??[]}c();u();p();m();d();l();var Ic=e=>({command:e});c();u();p();m();d();l();c();u();p();m();d();l();var kc=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);c();u();p();m();d();l();l();function Jt(e){try{return Oc(e,"fast")}catch{return Oc(e,"slow")}}function Oc(e,t){return JSON.stringify(e.map(r=>_c(r,t)))}function _c(e,t){if(Array.isArray(e))return e.map(r=>_c(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(wt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(se.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(y.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Ef(e))return{prisma__type:"bytes",prisma__value:y.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:y.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Mc(e):e}function Ef(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Mc(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Dc);let t={};for(let r of Object.keys(e))t[r]=Dc(e[r]);return t}function Dc(e){return typeof e=="bigint"?e.toString():Mc(e)}var xf=/^(\s*alter\s)/i,Nc=K("prisma:client");function Mo(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&xf.exec(t))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var No=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(In(r))n=r.sql,i={values:Jt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:Jt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:Jt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:Jt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=kc(r),i={values:Jt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Nc(`prisma.${e}(${n}, ${i.values})`):Nc(`prisma.${e}(${n})`),{query:n,parameters:i}},Lc={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new fe(t,r)}},Uc={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};c();u();p();m();d();l();function Lo(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Fc(r(s)):Fc(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Fc(e){return typeof e.then=="function"?e:Promise.resolve(e)}c();u();p();m();d();l();var Pf=Ei.split(".")[0],Tf={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},Uo=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${Pf}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??Tf}};function $c(){return new Uo}c();u();p();m();d();l();function Vc(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}c();u();p();m();d();l();function qc(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}c();u();p();m();d();l();c();u();p();m();d();l();function oi(e){return typeof e.batchRequestIdx=="number"}c();u();p();m();d();l();function Bc(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(Fo(e.query.arguments)),t.push(Fo(e.query.selection)),t.join("")}function Fo(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${Fo(n)})`:r}).join(" ")})`}c();u();p();m();d();l();var vf={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function $o(e){return vf[e]}c();u();p();m();d();l();var si=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,g.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iut("bigint",r));case"bytes-array":return t.map(r=>ut("bytes",r));case"decimal-array":return t.map(r=>ut("decimal",r));case"datetime-array":return t.map(r=>ut("datetime",r));case"date-array":return t.map(r=>ut("date",r));case"time-array":return t.map(r=>ut("time",r));default:return t}}function ai(e){let t=[],r=Af(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(R=>R.protocolQuery),f=this.client._tracingHelper.getTraceParent(s),w=n.some(R=>$o(R.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:f,transaction:Cf(o),containsWrite:w,customDataProxyFetch:i})).map((R,S)=>{if(R instanceof Error)return R;try{return this.mapQueryEngineResult(n[S],R)}catch(C){return C}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?jc(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:$o(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Bc(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return g.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Rf(t),Sf(t,i))throw t;if(t instanceof X&&If(t)){let w=Qc(t.meta);Tn({args:o,errors:[w],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let f=t.message;if(n&&(f=dn({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:f})),f=this.sanitizeMessage(f),t.code){let w=s?{modelName:s,...t.meta}:t.meta;throw new X(f,{code:t.code,clientVersion:this.client._clientVersion,meta:w,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new ae(f,this.client._clientVersion);if(t instanceof ne)throw new ne(f,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof F)throw new F(f,this.client._clientVersion);if(t instanceof ae)throw new ae(f,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?ht(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(w=>w!=="select"&&w!=="include"),a=qi(o,s),f=i==="queryRaw"?ai(a):Qe(a);return n?n(f):f}get[Symbol.toStringTag](){return"RequestHandler"}};function Cf(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:jc(e)};Me(e,"Unknown transaction kind")}}function jc(e){return{id:e.id,payload:e.payload}}function Sf(e,t){return oi(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function If(e){return e.code==="P2009"||e.code==="P2012"}function Qc(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(Qc)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}c();u();p();m();d();l();var Hc=Zn;c();u();p();m();d();l();var zc=$e(Ii());c();u();p();m();d();l();var V=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};D(V,"PrismaClientConstructorValidationError");var Gc=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],Jc=["pretty","colorless","minimal"],Wc=["info","query","warn","error"],kf={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new V(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=Wt(r,t)||` Available datasources: ${t.join(", ")}`;throw new V(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new V(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new V(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new V(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&>(t.generator)==="client")throw new V('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e!==null){if(e===void 0)throw new V('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(gt(t.generator)==="binary")throw new V('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')}},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new V(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new V(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!Jc.includes(e)){let t=Wt(e,Jc);throw new V(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new V(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!Wc.includes(r)){let n=Wt(r,Wc);throw new V(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=Wt(i,o);throw new V(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new V(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new V(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new V(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new V('"omit" option is expected to be an object.');if(e===null)throw new V('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=Df(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let f=o.fields.find(w=>w.name===s);if(!f){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(f.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new V(_f(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new V(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=Wt(r,t);throw new V(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function Yc(e,t){for(let[r,n]of Object.entries(e)){if(!Gc.includes(r)){let i=Wt(r,Gc);throw new V(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}kf[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new V('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function Wt(e,t){if(t.length===0||typeof e!="string")return"";let r=Of(e,t);return r?` Did you mean "${r}"?`:""}function Of(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,zc.default)(e,i)}));r.sort((i,o)=>i.distanceqe(n)===t);if(r)return e[r]}function _f(e,t){let r=Rt(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Pn(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}c();u();p();m();d();l();function Zc(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},f=w=>{o||(o=!0,r(w))};for(let w=0;w{n[w]=A,a()},A=>{if(!oi(A)){f(A);return}A.batchRequestIdx===w?f(A):(i||(i=A),a())})})}var We=K("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Mf={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},Nf=Symbol.for("prisma.client.transaction.id"),Lf={id:0,nextId(){return++this.id}};function tu(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Lo();constructor(n){e=n?.__internal?.configOverride?.(e)??e,$a(e),n&&Yc(n,e);let i=new kn().on("error",()=>{});this._extensions=Ct.empty(),this._previewFeatures=Sc(e),this._clientVersion=e.clientVersion??Hc,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=$c();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&rn.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&rn.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let f=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==f)throw new F(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${f}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new F("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let f=n??{},w=f.__internal??{},A=w.debug===!0;A&&K.enable("prisma:client");let R=rn.resolve(e.dirname,e.relativePath);fs.existsSync(R)||(R=e.dirname),We("dirname",e.dirname),We("relativePath",e.relativePath),We("cwd",R);let S=w.engine||{};if(f.errorFormat?this._errorFormat=f.errorFormat:g.env.NODE_ENV==="production"?this._errorFormat="minimal":g.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:R,dirname:e.dirname,enableDebugLogs:A,allowTriggerPanic:S.allowTriggerPanic,prismaPath:S.binaryPath??void 0,engineEndpoint:S.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:f.log&&qc(f.log),logQueries:f.log&&!!(typeof f.log=="string"?f.log==="query":f.log.find(C=>typeof C=="string"?C==="query":C.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Va(f,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:f.transactionOptions?.maxWait??2e3,timeout:f.transactionOptions?.timeout??5e3,isolationLevel:f.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:qt,getBatchRequestPayload:kt,prismaGraphQLToJSError:_n,PrismaClientUnknownRequestError:ne,PrismaClientInitializationError:F,PrismaClientKnownRequestError:X,debug:K("prisma:client:accelerateEngine"),engineVersion:eu.version,clientVersion:e.clientVersion}},We("clientVersion",e.clientVersion),this._engine=Cc(e,this._engineConfig),this._requestHandler=new li(this,i),f.log)for(let C of f.log){let L=typeof C=="string"?C:C.emit==="stdout"?C.level:null;L&&this.$on(L,k=>{tr.log(`${tr.tags[L]??""}`,k.message||k.query)})}}catch(f){throw f.clientVersion=this._clientVersion,f}return this._appliedParent=hr(this)}get[Symbol.toStringTag](){return"PrismaClient"}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{ds()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:No({clientMethod:i,activeProvider:a}),callsite:je(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=Xc(n,i);return Mo(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new ie("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Mo(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new ie(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Ic,callsite:je(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:No({clientMethod:i,activeProvider:a}),callsite:je(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...Xc(n,i));throw new ie("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new ie("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=Lf.nextId(),s=Vc(n.length),a=n.map((f,w)=>{if(f?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let A=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,R={kind:"batch",id:o,index:w,isolationLevel:A,lock:s};return f.requestTransaction?.(R)??f});return Zc(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),f;try{let w={kind:"itx",...a};f=await n(this._createItxClient(w)),await this._engine.transaction("commit",o,a)}catch(w){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),w}return f}_createItxClient(n){return Pe(hr(Pe(va(this),[le("_appliedParent",()=>this._appliedParent._createItxClient(n)),le("_createPrismaPromise",()=>Lo(n)),le(Nf,()=>n.id)])),[It(Ia)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Mf,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=async f=>{let{runInTransaction:w,args:A,...R}=f,S={...n,...R};A&&(S.args=i.middlewareArgsToRequestArgs(A)),n.transaction!==void 0&&w===!1&&delete S.transaction;let C=await _a(this,S);return S.model?Sa({result:C,modelName:S.model,args:S.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):C};return this._tracingHelper.runInChildSpan(s.operation,()=>a(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:f,argsMapper:w,transaction:A,unpacker:R,otelParentCtx:S,customDataProxyFetch:C}){try{n=w?w(n):n;let L={name:"serialize"},k=this._tracingHelper.runInChildSpan(L,()=>Cn({modelName:f,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return K.enabled("prisma:client")&&(We("Prisma Client call:"),We(`prisma.${i}(${fa(n)})`),We("Generated request:"),We(JSON.stringify(k,null,2)+` +`)),A?.kind==="batch"&&await A.lock,this._requestHandler.request({protocolQuery:k,modelName:f,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:A,unpacker:R,otelParentCtx:S,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:C})}catch(L){throw L.clientVersion=this._clientVersion,L}}$metrics=new St(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=Aa}return t}function Xc(e,t){return Uf(e)?[new fe(e,t),Lc]:[e,Uc]}function Uf(e){return Array.isArray(e)&&Array.isArray(e.raw)}c();u();p();m();d();l();var Ff=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function ru(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!Ff.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}c();u();p();m();d();l();l();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +//# sourceMappingURL=wasm-compiler-edge.js.map diff --git a/packages/member-prisma-client/runtime/wasm-engine-edge.js b/packages/member-prisma-client/runtime/wasm-engine-edge.js new file mode 100644 index 0000000..1391200 --- /dev/null +++ b/packages/member-prisma-client/runtime/wasm-engine-edge.js @@ -0,0 +1,38 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +"use strict";var Vs=Object.create;var nr=Object.defineProperty;var Bs=Object.getOwnPropertyDescriptor;var $s=Object.getOwnPropertyNames;var js=Object.getPrototypeOf,Qs=Object.prototype.hasOwnProperty;var ae=(t,e)=>()=>(t&&(e=t(t=0)),e);var yt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ht=(t,e)=>{for(var r in e)nr(t,r,{get:e[r],enumerable:!0})},Hn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of $s(e))!Qs.call(t,i)&&i!==r&&nr(t,i,{get:()=>e[i],enumerable:!(n=Bs(e,i))||n.enumerable});return t};var bt=(t,e,r)=>(r=t!=null?Vs(js(t)):{},Hn(e||!t||!t.__esModule?nr(r,"default",{value:t,enumerable:!0}):r,t)),Gs=t=>Hn(nr({},"__esModule",{value:!0}),t);function Kr(t,e){if(e=e.toLowerCase(),e==="utf8"||e==="utf-8")return new y(Hs.encode(t));if(e==="base64"||e==="base64url")return t=t.replace(/-/g,"+").replace(/_/g,"/"),t=t.replace(/[^A-Za-z0-9+/]/g,""),new y([...atob(t)].map(r=>r.charCodeAt(0)));if(e==="binary"||e==="ascii"||e==="latin1"||e==="latin-1")return new y([...t].map(r=>r.charCodeAt(0)));if(e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le"){let r=new y(t.length*2),n=new DataView(r.buffer);for(let i=0;ia.startsWith("get")||a.startsWith("set")),n=r.map(a=>a.replace("get","read").replace("set","write")),i=(a,f)=>function(v=0){return J(v,"offset"),re(v,"offset"),K(v,"offset",this.length-1),new DataView(this.buffer)[r[a]](v,f)},o=(a,f)=>function(v,R=0){let A=r[a].match(/set(\w+\d+)/)[1].toLowerCase(),I=Ks[A];return J(R,"offset"),re(R,"offset"),K(R,"offset",this.length-1),Ws(v,"value",I[0],I[1]),new DataView(this.buffer)[r[a]](R,v,f),R+parseInt(r[a].match(/\d+/)[0])/8},s=a=>{a.forEach(f=>{f.includes("Uint")&&(t[f.replace("Uint","UInt")]=t[f]),f.includes("Float64")&&(t[f.replace("Float64","Double")]=t[f]),f.includes("Float32")&&(t[f.replace("Float32","Float")]=t[f])})};n.forEach((a,f)=>{a.startsWith("read")&&(t[a]=i(f,!1),t[a+"LE"]=i(f,!0),t[a+"BE"]=i(f,!1)),a.startsWith("write")&&(t[a]=o(f,!1),t[a+"LE"]=o(f,!0),t[a+"BE"]=o(f,!1)),s([a,a+"LE",a+"BE"])})}function Yn(t){throw new Error(`Buffer polyfill does not implement "${t}"`)}function ir(t,e){if(!(t instanceof Uint8Array))throw new TypeError(`The "${e}" argument must be an instance of Buffer or Uint8Array`)}function K(t,e,r=Xs+1){if(t<0||t>r){let n=new RangeError(`The value of "${e}" is out of range. It must be >= 0 && <= ${r}. Received ${t}`);throw n.code="ERR_OUT_OF_RANGE",n}}function J(t,e){if(typeof t!="number"){let r=new TypeError(`The "${e}" argument must be of type number. Received type ${typeof t}.`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function re(t,e){if(!Number.isInteger(t)||Number.isNaN(t)){let r=new RangeError(`The value of "${e}" is out of range. It must be an integer. Received ${t}`);throw r.code="ERR_OUT_OF_RANGE",r}}function Ws(t,e,r,n){if(tn){let i=new RangeError(`The value of "${e}" is out of range. It must be >= ${r} and <= ${n}. Received ${t}`);throw i.code="ERR_OUT_OF_RANGE",i}}function zn(t,e){if(typeof t!="string"){let r=new TypeError(`The "${e}" argument must be of type string. Received type ${typeof t}`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function Zs(t,e="utf8"){return y.from(t,e)}var y,Ks,Hs,zs,Ys,Xs,h,Hr,u=ae(()=>{"use strict";y=class t extends Uint8Array{_isBuffer=!0;get offset(){return this.byteOffset}static alloc(e,r=0,n="utf8"){return zn(n,"encoding"),t.allocUnsafe(e).fill(r,n)}static allocUnsafe(e){return t.from(e)}static allocUnsafeSlow(e){return t.from(e)}static isBuffer(e){return e&&!!e._isBuffer}static byteLength(e,r="utf8"){if(typeof e=="string")return Kr(e,r).byteLength;if(e&&e.byteLength)return e.byteLength;let n=new TypeError('The "string" argument must be of type string or an instance of Buffer or ArrayBuffer.');throw n.code="ERR_INVALID_ARG_TYPE",n}static isEncoding(e){return Ys.includes(e)}static compare(e,r){ir(e,"buff1"),ir(r,"buff2");for(let n=0;nr[n])return 1}return e.length===r.length?0:e.length>r.length?1:-1}static from(e,r="utf8"){if(e&&typeof e=="object"&&e.type==="Buffer")return new t(e.data);if(typeof e=="number")return new t(new Uint8Array(e));if(typeof e=="string")return Kr(e,r);if(ArrayBuffer.isView(e)){let{byteOffset:n,byteLength:i,buffer:o}=e;return"map"in e&&typeof e.map=="function"?new t(e.map(s=>s%256),n,i):new t(o,n,i)}if(e&&typeof e=="object"&&("length"in e||"byteLength"in e||"buffer"in e))return new t(e);throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}static concat(e,r){if(e.length===0)return t.alloc(0);let n=[].concat(...e.map(o=>[...o])),i=t.alloc(r!==void 0?r:n.length);return i.set(r!==void 0?n.slice(0,r):n),i}slice(e=0,r=this.length){return this.subarray(e,r)}subarray(e=0,r=this.length){return Object.setPrototypeOf(super.subarray(e,r),t.prototype)}reverse(){return super.reverse(),this}readIntBE(e,r){J(e,"offset"),re(e,"offset"),K(e,"offset",this.length-1),J(r,"byteLength"),re(r,"byteLength");let n=new DataView(this.buffer,e,r),i=0;for(let o=0;o=0;o--)i.setUint8(o,e&255),e=e/256;return r+n}writeUintBE(e,r,n){return this.writeUIntBE(e,r,n)}writeUIntLE(e,r,n){J(r,"offset"),re(r,"offset"),K(r,"offset",this.length-1),J(n,"byteLength"),re(n,"byteLength");let i=new DataView(this.buffer,r,n);for(let o=0;or===e[n])}copy(e,r=0,n=0,i=this.length){K(r,"targetStart"),K(n,"sourceStart",this.length),K(i,"sourceEnd"),r>>>=0,n>>>=0,i>>>=0;let o=0;for(;n=this.length?this.length-a:e.length),a);return this}includes(e,r=null,n="utf-8"){return this.indexOf(e,r,n)!==-1}lastIndexOf(e,r=null,n="utf-8"){return this.indexOf(e,r,n,!0)}indexOf(e,r=null,n="utf-8",i=!1){let o=i?this.findLastIndex.bind(this):this.findIndex.bind(this);n=typeof r=="string"?r:n;let s=t.from(typeof e=="number"?[e]:e,n),a=typeof r=="string"?0:r;return a=typeof r=="number"?a:null,a=Number.isNaN(a)?null:a,a??=i?this.length:0,a=a<0?this.length+a:a,s.length===0&&i===!1?a>=this.length?this.length:a:s.length===0&&i===!0?(a>=this.length?this.length:a)||this.length:o((f,v)=>(i?v<=a:v>=a)&&this[v]===s[0]&&s.every((A,I)=>this[v+I]===A))}toString(e="utf8",r=0,n=this.length){if(r=r<0?0:r,e=e.toString().toLowerCase(),n<=0)return"";if(e==="utf8"||e==="utf-8")return zs.decode(this.slice(r,n));if(e==="base64"||e==="base64url"){let i=btoa(this.reduce((o,s)=>o+Hr(s),""));return e==="base64url"?i.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):i}if(e==="binary"||e==="ascii"||e==="latin1"||e==="latin-1")return this.slice(r,n).reduce((i,o)=>i+Hr(o&(e==="ascii"?127:255)),"");if(e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le"){let i=new DataView(this.buffer.slice(r,n));return Array.from({length:i.byteLength/2},(o,s)=>s*2+1i+o.toString(16).padStart(2,"0"),"");Yn(`encoding "${e}"`)}toLocaleString(){return this.toString()}inspect(){return``}};Ks={int8:[-128,127],int16:[-32768,32767],int32:[-2147483648,2147483647],uint8:[0,255],uint16:[0,65535],uint32:[0,4294967295],float32:[-1/0,1/0],float64:[-1/0,1/0],bigint64:[-0x8000000000000000n,0x7fffffffffffffffn],biguint64:[0n,0xffffffffffffffffn]},Hs=new TextEncoder,zs=new TextDecoder,Ys=["utf8","utf-8","hex","base64","ascii","binary","base64url","ucs2","ucs-2","utf16le","utf-16le","latin1","latin-1"],Xs=4294967295;Js(y.prototype);h=new Proxy(Zs,{construct(t,[e,r]){return y.from(e,r)},get(t,e){return y[e]}}),Hr=String.fromCodePoint});var g,w,c=ae(()=>{"use strict";g={nextTick:(t,...e)=>{setTimeout(()=>{t(...e)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4},{cwd:w}=g});var x,p=ae(()=>{"use strict";x=globalThis.performance??(()=>{let t=Date.now();return{now:()=>Date.now()-t}})()});var E,m=ae(()=>{"use strict";E=()=>{};E.prototype=E});var b,d=ae(()=>{"use strict";b=class{value;constructor(e){this.value=e}deref(){return this.value}}});function ti(t,e){var r,n,i,o,s,a,f,v,R=t.constructor,A=R.precision;if(!t.s||!e.s)return e.s||(e=new R(t)),$?N(e,A):e;if(f=t.d,v=e.d,s=t.e,i=e.e,f=f.slice(),o=s-i,o){for(o<0?(n=f,o=-o,a=v.length):(n=v,i=s,a=f.length),s=Math.ceil(A/B),a=s>a?s+1:a+1,o>a&&(o=a,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(a=f.length,o=v.length,a-o<0&&(o=a,n=v,v=f,f=n),r=0;o;)r=(f[--o]=f[o]+v[o]+r)/H|0,f[o]%=H;for(r&&(f.unshift(r),++i),a=f.length;f[--a]==0;)f.pop();return e.d=f,e.e=i,$?N(e,A):e}function de(t,e,r){if(t!==~~t||tr)throw Error(_e+t)}function me(t){var e,r,n,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e16)throw Error(Yr+W(t));if(!t.s)return new R(oe);for(e==null?($=!1,a=A):a=e,s=new R(.03125);t.abs().gte(.1);)t=t.times(s),v+=5;for(n=Math.log(ke(2,v))/Math.LN10*2+5|0,a+=n,r=i=o=new R(oe),R.precision=a;;){if(i=N(i.times(t),a),r=r.times(++f),s=o.plus(we(i,r,a)),me(s.d).slice(0,a)===me(o.d).slice(0,a)){for(;v--;)o=N(o.times(o),a);return R.precision=A,e==null?($=!0,N(o,A)):o}o=s}}function W(t){for(var e=t.e*B,r=t.d[0];r>=10;r/=10)e++;return e}function zr(t,e,r){if(e>t.LN10.sd())throw $=!0,r&&(t.precision=r),Error(le+"LN10 precision limit exceeded");return N(new t(t.LN10),e)}function Ae(t){for(var e="";t--;)e+="0";return e}function Et(t,e){var r,n,i,o,s,a,f,v,R,A=1,I=10,C=t,L=C.d,D=C.constructor,k=D.precision;if(C.s<1)throw Error(le+(C.s?"NaN":"-Infinity"));if(C.eq(oe))return new D(0);if(e==null?($=!1,v=k):v=e,C.eq(10))return e==null&&($=!0),zr(D,v);if(v+=I,D.precision=v,r=me(L),n=r.charAt(0),o=W(C),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)C=C.times(t),r=me(C.d),n=r.charAt(0),A++;o=W(C),n>1?(C=new D("0."+r),o++):C=new D(n+"."+r.slice(1))}else return f=zr(D,v+2,k).times(o+""),C=Et(new D(n+"."+r.slice(1)),v-I).plus(f),D.precision=k,e==null?($=!0,N(C,k)):C;for(a=s=C=we(C.minus(oe),C.plus(oe),v),R=N(C.times(C),v),i=3;;){if(s=N(s.times(R),v),f=a.plus(we(s,new D(i),v)),me(f.d).slice(0,v)===me(a.d).slice(0,v))return a=a.times(2),o!==0&&(a=a.plus(zr(D,v+2,k).times(o+""))),a=we(a,new D(A),v),D.precision=k,e==null?($=!0,N(a,k)):a;a=f,i+=2}}function Xn(t,e){var r,n,i;for((r=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(r<0&&(r=n),r+=+e.slice(n+1),e=e.substring(0,n)):r<0&&(r=e.length),n=0;e.charCodeAt(n)===48;)++n;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(n,i),e){if(i-=n,r=r-n-1,t.e=Qe(r/B),t.d=[],n=(r+1)%B,r<0&&(n+=B),nor||t.e<-or))throw Error(Yr+r)}else t.s=0,t.e=0,t.d=[0];return t}function N(t,e,r){var n,i,o,s,a,f,v,R,A=t.d;for(s=1,o=A[0];o>=10;o/=10)s++;if(n=e-s,n<0)n+=B,i=e,v=A[R=0];else{if(R=Math.ceil((n+1)/B),o=A.length,R>=o)return t;for(v=o=A[R],s=1;o>=10;o/=10)s++;n%=B,i=n-B+s}if(r!==void 0&&(o=ke(10,s-i-1),a=v/o%10|0,f=e<0||A[R+1]!==void 0||v%o,f=r<4?(a||f)&&(r==0||r==(t.s<0?3:2)):a>5||a==5&&(r==4||f||r==6&&(n>0?i>0?v/ke(10,s-i):0:A[R-1])%10&1||r==(t.s<0?8:7))),e<1||!A[0])return f?(o=W(t),A.length=1,e=e-o-1,A[0]=ke(10,(B-e%B)%B),t.e=Qe(-e/B)||0):(A.length=1,A[0]=t.e=t.s=0),t;if(n==0?(A.length=R,o=1,R--):(A.length=R+1,o=ke(10,B-n),A[R]=i>0?(v/ke(10,s-i)%ke(10,i)|0)*o:0),f)for(;;)if(R==0){(A[0]+=o)==H&&(A[0]=1,++t.e);break}else{if(A[R]+=o,A[R]!=H)break;A[R--]=0,o=1}for(n=A.length;A[--n]===0;)A.pop();if($&&(t.e>or||t.e<-or))throw Error(Yr+W(t));return t}function ni(t,e){var r,n,i,o,s,a,f,v,R,A,I=t.constructor,C=I.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new I(t),$?N(e,C):e;if(f=t.d,A=e.d,n=e.e,v=t.e,f=f.slice(),s=v-n,s){for(R=s<0,R?(r=f,s=-s,a=A.length):(r=A,n=v,a=f.length),i=Math.max(Math.ceil(C/B),a)+2,s>i&&(s=i,r.length=1),r.reverse(),i=s;i--;)r.push(0);r.reverse()}else{for(i=f.length,a=A.length,R=i0;--i)f[a++]=0;for(i=A.length;i>s;){if(f[--i]0?o=o.charAt(0)+"."+o.slice(1)+Ae(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Ae(-i-1)+o,r&&(n=r-s)>0&&(o+=Ae(n))):i>=s?(o+=Ae(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Ae(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Ae(n))),t.s<0?"-"+o:o}function Zn(t,e){if(t.length>e)return t.length=e,!0}function ii(t){var e,r,n;function i(o){var s=this;if(!(s instanceof i))return new i(o);if(s.constructor=i,o instanceof i){s.s=o.s,s.e=o.e,s.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(_e+o);if(o>0)s.s=1;else if(o<0)o=-o,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(o===~~o&&o<1e7){s.e=0,s.d=[o];return}return Xn(s,o.toString())}else if(typeof o!="string")throw Error(_e+o);if(o.charCodeAt(0)===45?(o=o.slice(1),s.s=-1):s.s=1,ta.test(o))Xn(s,o);else throw Error(_e+o)}if(i.prototype=S,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=ii,i.config=i.set=ra,t===void 0&&(t={}),t)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&n<=i[e+2])this[r]=n;else throw Error(_e+r+": "+n);if((n=t[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(_e+r+": "+n);return this}var je,ea,Xr,$,le,_e,Yr,Qe,ke,ta,oe,H,B,ei,or,S,we,Xr,sr,oi=ae(()=>{"use strict";u();c();p();m();d();l();je=1e9,ea={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},$=!0,le="[DecimalError] ",_e=le+"Invalid argument: ",Yr=le+"Exponent out of range: ",Qe=Math.floor,ke=Math.pow,ta=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,H=1e7,B=7,ei=9007199254740991,or=Qe(ei/B),S={};S.absoluteValue=S.abs=function(){var t=new this.constructor(this);return t.s&&(t.s=1),t};S.comparedTo=S.cmp=function(t){var e,r,n,i,o=this;if(t=new o.constructor(t),o.s!==t.s)return o.s||-t.s;if(o.e!==t.e)return o.e>t.e^o.s<0?1:-1;for(n=o.d.length,i=t.d.length,e=0,r=nt.d[e]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};S.decimalPlaces=S.dp=function(){var t=this,e=t.d.length-1,r=(e-t.e)*B;if(e=t.d[e],e)for(;e%10==0;e/=10)r--;return r<0?0:r};S.dividedBy=S.div=function(t){return we(this,new this.constructor(t))};S.dividedToIntegerBy=S.idiv=function(t){var e=this,r=e.constructor;return N(we(e,new r(t),0,1),r.precision)};S.equals=S.eq=function(t){return!this.cmp(t)};S.exponent=function(){return W(this)};S.greaterThan=S.gt=function(t){return this.cmp(t)>0};S.greaterThanOrEqualTo=S.gte=function(t){return this.cmp(t)>=0};S.isInteger=S.isint=function(){return this.e>this.d.length-2};S.isNegative=S.isneg=function(){return this.s<0};S.isPositive=S.ispos=function(){return this.s>0};S.isZero=function(){return this.s===0};S.lessThan=S.lt=function(t){return this.cmp(t)<0};S.lessThanOrEqualTo=S.lte=function(t){return this.cmp(t)<1};S.logarithm=S.log=function(t){var e,r=this,n=r.constructor,i=n.precision,o=i+5;if(t===void 0)t=new n(10);else if(t=new n(t),t.s<1||t.eq(oe))throw Error(le+"NaN");if(r.s<1)throw Error(le+(r.s?"NaN":"-Infinity"));return r.eq(oe)?new n(0):($=!1,e=we(Et(r,o),Et(t,o),o),$=!0,N(e,i))};S.minus=S.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?ni(e,t):ti(e,(t.s=-t.s,t))};S.modulo=S.mod=function(t){var e,r=this,n=r.constructor,i=n.precision;if(t=new n(t),!t.s)throw Error(le+"NaN");return r.s?($=!1,e=we(r,t,0,1).times(t),$=!0,r.minus(e)):N(new n(r),i)};S.naturalExponential=S.exp=function(){return ri(this)};S.naturalLogarithm=S.ln=function(){return Et(this)};S.negated=S.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};S.plus=S.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?ti(e,t):ni(e,(t.s=-t.s,t))};S.precision=S.sd=function(t){var e,r,n,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(_e+t);if(e=W(i)+1,n=i.d.length-1,r=n*B+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return t&&e>r?e:r};S.squareRoot=S.sqrt=function(){var t,e,r,n,i,o,s,a=this,f=a.constructor;if(a.s<1){if(!a.s)return new f(0);throw Error(le+"NaN")}for(t=W(a),$=!1,i=Math.sqrt(+a),i==0||i==1/0?(e=me(a.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=Qe((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),n=new f(e)):n=new f(i.toString()),r=f.precision,i=s=r+3;;)if(o=n,n=o.plus(we(a,o,s+2)).times(.5),me(o.d).slice(0,s)===(e=me(n.d)).slice(0,s)){if(e=e.slice(s-3,s+1),i==s&&e=="4999"){if(N(o,r+1,0),o.times(o).eq(a)){n=o;break}}else if(e!="9999")break;s+=4}return $=!0,N(n,r)};S.times=S.mul=function(t){var e,r,n,i,o,s,a,f,v,R=this,A=R.constructor,I=R.d,C=(t=new A(t)).d;if(!R.s||!t.s)return new A(0);for(t.s*=R.s,r=R.e+t.e,f=I.length,v=C.length,f=0;){for(e=0,i=f+n;i>n;)a=o[i]+C[n]*I[i-n-1]+e,o[i--]=a%H|0,e=a/H|0;o[i]=(o[i]+e)%H|0}for(;!o[--s];)o.pop();return e?++r:o.shift(),t.d=o,t.e=r,$?N(t,A.precision):t};S.toDecimalPlaces=S.todp=function(t,e){var r=this,n=r.constructor;return r=new n(r),t===void 0?r:(de(t,0,je),e===void 0?e=n.rounding:de(e,0,8),N(r,t+W(r)+1,e))};S.toExponential=function(t,e){var r,n=this,i=n.constructor;return t===void 0?r=Me(n,!0):(de(t,0,je),e===void 0?e=i.rounding:de(e,0,8),n=N(new i(n),t+1,e),r=Me(n,!0,t+1)),r};S.toFixed=function(t,e){var r,n,i=this,o=i.constructor;return t===void 0?Me(i):(de(t,0,je),e===void 0?e=o.rounding:de(e,0,8),n=N(new o(i),t+W(i)+1,e),r=Me(n.abs(),!1,t+W(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};S.toInteger=S.toint=function(){var t=this,e=t.constructor;return N(new e(t),W(t)+1,e.rounding)};S.toNumber=function(){return+this};S.toPower=S.pow=function(t){var e,r,n,i,o,s,a=this,f=a.constructor,v=12,R=+(t=new f(t));if(!t.s)return new f(oe);if(a=new f(a),!a.s){if(t.s<1)throw Error(le+"Infinity");return a}if(a.eq(oe))return a;if(n=f.precision,t.eq(oe))return N(a,n);if(e=t.e,r=t.d.length-1,s=e>=r,o=a.s,s){if((r=R<0?-R:R)<=ei){for(i=new f(oe),e=Math.ceil(n/B+4),$=!1;r%2&&(i=i.times(a),Zn(i.d,e)),r=Qe(r/2),r!==0;)a=a.times(a),Zn(a.d,e);return $=!0,t.s<0?new f(oe).div(i):N(i,n)}}else if(o<0)throw Error(le+"NaN");return o=o<0&&t.d[Math.max(e,r)]&1?-1:1,a.s=1,$=!1,i=t.times(Et(a,n+v)),$=!0,i=ri(i),i.s=o,i};S.toPrecision=function(t,e){var r,n,i=this,o=i.constructor;return t===void 0?(r=W(i),n=Me(i,r<=o.toExpNeg||r>=o.toExpPos)):(de(t,1,je),e===void 0?e=o.rounding:de(e,0,8),i=N(new o(i),t,e),r=W(i),n=Me(i,t<=r||r<=o.toExpNeg,t)),n};S.toSignificantDigits=S.tosd=function(t,e){var r=this,n=r.constructor;return t===void 0?(t=n.precision,e=n.rounding):(de(t,1,je),e===void 0?e=n.rounding:de(e,0,8)),N(new n(r),t,e)};S.toString=S.valueOf=S.val=S.toJSON=S[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=W(t),r=t.constructor;return Me(t,e<=r.toExpNeg||e>=r.toExpPos)};we=function(){function t(n,i){var o,s=0,a=n.length;for(n=n.slice();a--;)o=n[a]*i+s,n[a]=o%H|0,s=o/H|0;return s&&n.unshift(s),n}function e(n,i,o,s){var a,f;if(o!=s)f=o>s?1:-1;else for(a=f=0;ai[a]?1:-1;break}return f}function r(n,i,o){for(var s=0;o--;)n[o]-=s,s=n[o]1;)n.shift()}return function(n,i,o,s){var a,f,v,R,A,I,C,L,D,k,Ee,ee,U,te,Oe,Wr,ue,tr,rr=n.constructor,qs=n.s==i.s?1:-1,pe=n.d,G=i.d;if(!n.s)return new rr(n);if(!i.s)throw Error(le+"Division by zero");for(f=n.e-i.e,ue=G.length,Oe=pe.length,C=new rr(qs),L=C.d=[],v=0;G[v]==(pe[v]||0);)++v;if(G[v]>(pe[v]||0)&&--f,o==null?ee=o=rr.precision:s?ee=o+(W(n)-W(i))+1:ee=o,ee<0)return new rr(0);if(ee=ee/B+2|0,v=0,ue==1)for(R=0,G=G[0],ee++;(v1&&(G=t(G,R),pe=t(pe,R),ue=G.length,Oe=pe.length),te=ue,D=pe.slice(0,ue),k=D.length;k=H/2&&++Wr;do R=0,a=e(G,D,ue,k),a<0?(Ee=D[0],ue!=k&&(Ee=Ee*H+(D[1]||0)),R=Ee/Wr|0,R>1?(R>=H&&(R=H-1),A=t(G,R),I=A.length,k=D.length,a=e(A,D,I,k),a==1&&(R--,r(A,ue{"use strict";oi();P=class extends sr{static isDecimal(e){return e instanceof sr}static random(e=20){{let n=globalThis.crypto.getRandomValues(new Uint8Array(e)).reduce((i,o)=>i+o,"");return new sr(`0.${n.slice(0,e)}`)}}},xe=P});function la(){return!1}function nn(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function ua(){return nn()}function ca(){return[]}function pa(t){t(null,[])}function ma(){return""}function da(){return""}function fa(){}function ga(){}function ya(){}function ha(){}function ba(){}function Ea(){}function wa(){}function xa(){}function Pa(){return{close:()=>{},on:()=>{},removeAllListeners:()=>{}}}function Ta(t,e){e(null,nn())}var va,Ra,Pi,Ti=ae(()=>{"use strict";u();c();p();m();d();l();va={},Ra={existsSync:la,lstatSync:nn,stat:Ta,statSync:ua,readdirSync:ca,readdir:pa,readlinkSync:ma,realpathSync:da,chmodSync:fa,renameSync:ga,mkdirSync:ya,rmdirSync:ha,rmSync:ba,unlinkSync:Ea,watchFile:wa,unwatchFile:xa,watch:Pa,promises:va},Pi=Ra});var vi=yt((Yp,Aa)=>{Aa.exports={name:"@prisma/internals",version:"6.19.2",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-engine-wasm":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});function Sa(...t){return t.join("/")}function Ia(...t){return t.join("/")}function Da(t){let e=Ri(t),r=Ai(t),[n,i]=e.split(".");return{root:"/",dir:r,base:e,ext:i,name:n}}function Ri(t){let e=t.split("/");return e[e.length-1]}function Ai(t){return t.split("/").slice(0,-1).join("/")}function ka(t){let e=t.split("/").filter(i=>i!==""&&i!=="."),r=[];for(let i of e)i===".."?r.pop():r.push(i);let n=r.join("/");return t.startsWith("/")?"/"+n:n}var Ci,Oa,_a,Ma,cr,Si=ae(()=>{"use strict";u();c();p();m();d();l();Ci="/",Oa=":";_a={sep:Ci},Ma={basename:Ri,delimiter:Oa,dirname:Ai,join:Ia,normalize:ka,parse:Da,posix:_a,resolve:Sa,sep:Ci},cr=Ma});var un=yt((ud,qa)=>{qa.exports={name:"@prisma/engines-version",version:"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"c2990dca591cba766e3b7ef5d9e8a84796e47ab7"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Di=yt(dr=>{"use strict";u();c();p();m();d();l();Object.defineProperty(dr,"__esModule",{value:!0});dr.enginesVersion=void 0;dr.enginesVersion=un().prisma.enginesVersion});var _i=yt((vd,ki)=>{"use strict";u();c();p();m();d();l();ki.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))}});var hn=yt((eb,qi)=>{"use strict";u();c();p();m();d();l();qi.exports=function(){function t(e,r,n,i,o){return en?n+1:e+1:i===o?r:r+1}return function(e,r){if(e===r)return 0;if(e.length>r.length){var n=e;e=r,r=n}for(var i=e.length,o=r.length;i>0&&e.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";u();c();p();m();d();l()});var Gi=ae(()=>{"use strict";u();c();p();m();d();l()});var Fr,yo=ae(()=>{"use strict";u();c();p();m();d();l();Fr=class{events={};on(e,r){return this.events[e]||(this.events[e]=[]),this.events[e].push(r),this}emit(e,...r){return this.events[e]?(this.events[e].forEach(n=>{n(...r)}),!0):!1}}});var zu={};ht(zu,{DMMF:()=>At,Debug:()=>j,Decimal:()=>xe,Extensions:()=>Zr,MetricsClient:()=>nt,PrismaClientInitializationError:()=>M,PrismaClientKnownRequestError:()=>X,PrismaClientRustPanicError:()=>Te,PrismaClientUnknownRequestError:()=>Q,PrismaClientValidationError:()=>Y,Public:()=>en,Sql:()=>ne,createParam:()=>ao,defineDmmfProperty:()=>fo,deserializeJsonResponse:()=>lt,deserializeRawResult:()=>Gr,dmmfToRuntimeDataModel:()=>Ui,empty:()=>bo,getPrismaClient:()=>Fs,getRuntime:()=>ut,join:()=>ho,makeStrictEnum:()=>Ns,makeTypedQueryFactory:()=>go,objectEnumValues:()=>Ar,raw:()=>An,serializeJsonQuery:()=>_r,skip:()=>kr,sqltag:()=>Cn,warnEnvConflicts:()=>void 0,warnOnce:()=>Tt});module.exports=Gs(zu);u();c();p();m();d();l();var Zr={};ht(Zr,{defineExtension:()=>si,getExtensionContext:()=>ai});u();c();p();m();d();l();u();c();p();m();d();l();function si(t){return typeof t=="function"?t:e=>e.$extends(t)}u();c();p();m();d();l();function ai(t){return t}var en={};ht(en,{validator:()=>li});u();c();p();m();d();l();u();c();p();m();d();l();function li(...t){return e=>e}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var tn,ui,ci,pi,mi=!0;typeof g<"u"&&({FORCE_COLOR:tn,NODE_DISABLE_COLORS:ui,NO_COLOR:ci,TERM:pi}=g.env||{},mi=g.stdout&&g.stdout.isTTY);var na={enabled:!ui&&ci==null&&pi!=="dumb"&&(tn!=null&&tn!=="0"||mi)};function q(t,e){let r=new RegExp(`\\x1b\\[${e}m`,"g"),n=`\x1B[${t}m`,i=`\x1B[${e}m`;return function(o){return!na.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var Kc=q(0,0),ar=q(1,22),lr=q(2,22),Hc=q(3,23),di=q(4,24),zc=q(7,27),Yc=q(8,28),Xc=q(9,29),Zc=q(30,39),Ge=q(31,39),fi=q(32,39),gi=q(33,39),yi=q(34,39),ep=q(35,39),hi=q(36,39),tp=q(37,39),bi=q(90,39),rp=q(90,39),np=q(40,49),ip=q(41,49),op=q(42,49),sp=q(43,49),ap=q(44,49),lp=q(45,49),up=q(46,49),cp=q(47,49);u();c();p();m();d();l();var ia=100,Ei=["green","yellow","blue","magenta","cyan","red"],ur=[],wi=Date.now(),oa=0,rn=typeof g<"u"?g.env:{};globalThis.DEBUG??=rn.DEBUG??"";globalThis.DEBUG_COLORS??=rn.DEBUG_COLORS?rn.DEBUG_COLORS==="true":!0;var wt={enable(t){typeof t=="string"&&(globalThis.DEBUG=t)},disable(){let t=globalThis.DEBUG;return globalThis.DEBUG="",t},enabled(t){let e=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=e.some(i=>i===""||i[0]==="-"?!1:t.match(RegExp(i.split("*").join(".*")+"$"))),n=e.some(i=>i===""||i[0]!=="-"?!1:t.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...t)=>{let[e,r,...n]=t;(console.warn??console.log)(`${e} ${r}`,...n)},formatters:{}};function sa(t){let e={color:Ei[oa++%Ei.length],enabled:wt.enabled(t),namespace:t,log:wt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=e;if(n.length!==0&&ur.push([o,...n]),ur.length>ia&&ur.shift(),wt.enabled(o)||i){let f=n.map(R=>typeof R=="string"?R:aa(R)),v=`+${Date.now()-wi}ms`;wi=Date.now(),a(o,...f,v)}};return new Proxy(r,{get:(n,i)=>e[i],set:(n,i,o)=>e[i]=o})}var j=new Proxy(sa,{get:(t,e)=>wt[e],set:(t,e,r)=>wt[e]=r});function aa(t,e=2){let r=new Set;return JSON.stringify(t,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},e)}function xi(){ur.length=0}u();c();p();m();d();l();u();c();p();m();d();l();var on=["darwin","darwin-arm64","debian-openssl-1.0.x","debian-openssl-1.1.x","debian-openssl-3.0.x","rhel-openssl-1.0.x","rhel-openssl-1.1.x","rhel-openssl-3.0.x","linux-arm64-openssl-1.1.x","linux-arm64-openssl-1.0.x","linux-arm64-openssl-3.0.x","linux-arm-openssl-1.1.x","linux-arm-openssl-1.0.x","linux-arm-openssl-3.0.x","linux-musl","linux-musl-openssl-3.0.x","linux-musl-arm64-openssl-1.1.x","linux-musl-arm64-openssl-3.0.x","linux-nixos","linux-static-x64","linux-static-arm64","windows","freebsd11","freebsd12","freebsd13","freebsd14","freebsd15","openbsd","netbsd","arm"];u();c();p();m();d();l();var Ca=vi(),sn=Ca.version;u();c();p();m();d();l();function Je(t){let e=La();return e||(t?.config.engineType==="library"?"library":t?.config.engineType==="binary"?"binary":t?.config.engineType==="client"?"client":Fa())}function La(){let t=g.env.PRISMA_CLIENT_ENGINE_TYPE;return t==="library"?"library":t==="binary"?"binary":t==="client"?"client":void 0}function Fa(){return"library"}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();function an(t){return t.name==="DriverAdapterError"&&typeof t.cause=="object"}u();c();p();m();d();l();function pr(t){return{ok:!0,value:t,map(e){return pr(e(t))},flatMap(e){return e(t)}}}function Le(t){return{ok:!1,error:t,map(){return Le(t)},flatMap(){return Le(t)}}}var Ii=j("driver-adapter-utils"),ln=class{registeredErrors=[];consumeError(e){return this.registeredErrors[e]}registerNewError(e){let r=0;for(;this.registeredErrors[r]!==void 0;)r++;return this.registeredErrors[r]={error:e},r}};var mr=(t,e=new ln)=>{let r={adapterName:t.adapterName,errorRegistry:e,queryRaw:Pe(e,t.queryRaw.bind(t)),executeRaw:Pe(e,t.executeRaw.bind(t)),executeScript:Pe(e,t.executeScript.bind(t)),dispose:Pe(e,t.dispose.bind(t)),provider:t.provider,startTransaction:async(...n)=>(await Pe(e,t.startTransaction.bind(t))(...n)).map(o=>Na(e,o))};return t.getConnectionInfo&&(r.getConnectionInfo=Ua(e,t.getConnectionInfo.bind(t))),r},Na=(t,e)=>({adapterName:e.adapterName,provider:e.provider,options:e.options,queryRaw:Pe(t,e.queryRaw.bind(e)),executeRaw:Pe(t,e.executeRaw.bind(e)),commit:Pe(t,e.commit.bind(e)),rollback:Pe(t,e.rollback.bind(e))});function Pe(t,e){return async(...r)=>{try{return pr(await e(...r))}catch(n){if(Ii("[error@wrapAsync]",n),an(n))return Le(n.cause);let i=t.registerNewError(n);return Le({kind:"GenericJs",id:i})}}}function Ua(t,e){return(...r)=>{try{return pr(e(...r))}catch(n){if(Ii("[error@wrapSync]",n),an(n))return Le(n.cause);let i=t.registerNewError(n);return Le({kind:"GenericJs",id:i})}}}u();c();p();m();d();l();var Oi="prisma+postgres",fr=`${Oi}:`;function gr(t){return t?.toString().startsWith(`${fr}//`)??!1}function cn(t){if(!gr(t))return!1;let{host:e}=new URL(t);return e.includes("localhost")||e.includes("127.0.0.1")||e.includes("[::1]")}var Pt={};ht(Pt,{error:()=>$a,info:()=>Ba,log:()=>Va,query:()=>ja,should:()=>Mi,tags:()=>xt,warn:()=>pn});u();c();p();m();d();l();var xt={error:Ge("prisma:error"),warn:gi("prisma:warn"),info:hi("prisma:info"),query:yi("prisma:query")},Mi={warn:()=>!g.env.PRISMA_DISABLE_WARNINGS};function Va(...t){console.log(...t)}function pn(t,...e){Mi.warn()&&console.warn(`${xt.warn} ${t}`,...e)}function Ba(t,...e){console.info(`${xt.info} ${t}`,...e)}function $a(t,...e){console.error(`${xt.error} ${t}`,...e)}function ja(t,...e){console.log(`${xt.query} ${t}`,...e)}u();c();p();m();d();l();function yr(t,e){if(!t)throw new Error(`${e}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}u();c();p();m();d();l();function Fe(t,e){throw new Error(e)}u();c();p();m();d();l();u();c();p();m();d();l();function mn({onlyFirst:t=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,t?void 0:"g")}var Qa=mn();function dn(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(Qa,"")}u();c();p();m();d();l();function fn(t,e){return Object.prototype.hasOwnProperty.call(t,e)}u();c();p();m();d();l();function hr(t,e){let r={};for(let n of Object.keys(t))r[n]=e(t[n],n);return r}u();c();p();m();d();l();function gn(t,e){if(t.length===0)return;let r=t[0];for(let n=1;n{Li.has(t)||(Li.add(t),pn(e,...r))};var M=class t extends Error{clientVersion;errorCode;retryable;constructor(e,r,n){super(e),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(t)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};O(M,"PrismaClientInitializationError");u();c();p();m();d();l();var X=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(e,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(e),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};O(X,"PrismaClientKnownRequestError");u();c();p();m();d();l();var Te=class extends Error{clientVersion;constructor(e,r){super(e),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};O(Te,"PrismaClientRustPanicError");u();c();p();m();d();l();var Q=class extends Error{clientVersion;batchRequestIdx;constructor(e,{clientVersion:r,batchRequestIdx:n}){super(e),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};O(Q,"PrismaClientUnknownRequestError");u();c();p();m();d();l();var Y=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(e,{clientVersion:r}){super(e),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};O(Y,"PrismaClientValidationError");u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var fe=class{_map=new Map;get(e){return this._map.get(e)?.value}set(e,r){this._map.set(e,{value:r})}getOrCreate(e,r){let n=this._map.get(e);if(n)return n.value;let i=r();return this.set(e,i),i}};u();c();p();m();d();l();function Ce(t){return t.substring(0,1).toLowerCase()+t.substring(1)}u();c();p();m();d();l();function Ni(t,e){let r={};for(let n of t){let i=n[e];r[i]=n}return r}u();c();p();m();d();l();function vt(t){let e;return{get(){return e||(e={value:t()}),e.value}}}u();c();p();m();d();l();function Ui(t){return{models:yn(t.models),enums:yn(t.enums),types:yn(t.types)}}function yn(t){let e={};for(let{name:r,...n}of t)e[r]=n;return e}u();c();p();m();d();l();function We(t){return t instanceof Date||Object.prototype.toString.call(t)==="[object Date]"}function br(t){return t.toString()!=="Invalid Date"}u();c();p();m();d();l();l();function Ke(t){return P.isDecimal(t)?!0:t!==null&&typeof t=="object"&&typeof t.s=="number"&&typeof t.e=="number"&&typeof t.toFixed=="function"&&Array.isArray(t.d)}u();c();p();m();d();l();u();c();p();m();d();l();var At={};ht(At,{ModelAction:()=>Rt,datamodelEnumToSchemaEnum:()=>Ga});u();c();p();m();d();l();u();c();p();m();d();l();function Ga(t){return{name:t.name,values:t.values.map(e=>e.name)}}u();c();p();m();d();l();var Rt=(U=>(U.findUnique="findUnique",U.findUniqueOrThrow="findUniqueOrThrow",U.findFirst="findFirst",U.findFirstOrThrow="findFirstOrThrow",U.findMany="findMany",U.create="create",U.createMany="createMany",U.createManyAndReturn="createManyAndReturn",U.update="update",U.updateMany="updateMany",U.updateManyAndReturn="updateManyAndReturn",U.upsert="upsert",U.delete="delete",U.deleteMany="deleteMany",U.groupBy="groupBy",U.count="count",U.aggregate="aggregate",U.findRaw="findRaw",U.aggregateRaw="aggregateRaw",U))(Rt||{});var Ja=bt(_i());var Wa={red:Ge,gray:bi,dim:lr,bold:ar,underline:di,highlightSource:t=>t.highlight()},Ka={red:t=>t,gray:t=>t,dim:t=>t,bold:t=>t,underline:t=>t,highlightSource:t=>t};function Ha({message:t,originalMethod:e,isPanic:r,callArguments:n}){return{functionName:`prisma.${e}()`,message:t,isPanic:r??!1,callArguments:n}}function za({functionName:t,location:e,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],f=e?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${t}\``)} invocation${f}`))):a.push(s.red(`Invalid ${s.bold(`\`${t}\``)} invocation${f}`)),e&&a.push(s.underline(Ya(e))),i){a.push("");let v=[i.toString()];o&&(v.push(o),v.push(s.dim(")"))),a.push(v.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function Ya(t){let e=[t.fileName];return t.lineNumber&&e.push(String(t.lineNumber)),t.columnNumber&&e.push(String(t.columnNumber)),e.join(":")}function Er(t){let e=t.showColors?Wa:Ka,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(t,e):r=Ha(t),za(r,e)}u();c();p();m();d();l();var Wi=bt(hn());u();c();p();m();d();l();function $i(t,e,r){let n=ji(t),i=Xa(n),o=el(i);o?wr(o,e,r):e.addErrorMessage(()=>"Unknown error")}function ji(t){return t.errors.flatMap(e=>e.kind==="Union"?ji(e):[e])}function Xa(t){let e=new Map,r=[];for(let n of t){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=e.get(i);o?e.set(i,{...n,argument:{...n.argument,typeNames:Za(o.argument.typeNames,n.argument.typeNames)}}):e.set(i,n)}return r.push(...e.values()),r}function Za(t,e){return[...new Set(t.concat(e))]}function el(t){return gn(t,(e,r)=>{let n=Vi(e),i=Vi(r);return n!==i?n-i:Bi(e)-Bi(r)})}function Vi(t){let e=0;return Array.isArray(t.selectionPath)&&(e+=t.selectionPath.length),Array.isArray(t.argumentPath)&&(e+=t.argumentPath.length),e}function Bi(t){switch(t.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}u();c();p();m();d();l();var se=class{constructor(e,r){this.name=e;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(e){let{colors:{green:r}}=e.context;e.addMarginSymbol(r(this.isRequired?"+":"?")),e.write(r(this.name)),this.isRequired||e.write(r("?")),e.write(r(": ")),typeof this.value=="string"?e.write(r(this.value)):e.write(this.value)}};u();c();p();m();d();l();u();c();p();m();d();l();Gi();u();c();p();m();d();l();var He=class{constructor(e=0,r){this.context=r;this.currentIndent=e}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(e){return typeof e=="string"?this.currentLine+=e:e.write(this),this}writeJoined(e,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(e){return this.marginSymbol=e,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let e=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+e.slice(1):e}};Qi();u();c();p();m();d();l();u();c();p();m();d();l();var xr=class{constructor(e){this.value=e}write(e){e.write(this.value)}markAsError(){this.value.markAsError()}};u();c();p();m();d();l();var Pr=t=>t,Tr={bold:Pr,red:Pr,green:Pr,dim:Pr,enabled:!1},Ji={bold:ar,red:Ge,green:fi,dim:lr,enabled:!0},ze={write(t){t.writeLine(",")}};u();c();p();m();d();l();var ge=class{constructor(e){this.contents=e}isUnderlined=!1;color=e=>e;underline(){return this.isUnderlined=!0,this}setColor(e){return this.color=e,this}write(e){let r=e.getCurrentLineLength();e.write(this.color(this.contents)),this.isUnderlined&&e.afterNextNewline(()=>{e.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};u();c();p();m();d();l();var Se=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var Ye=class extends Se{items=[];addItem(e){return this.items.push(new xr(e)),this}getField(e){return this.items[e]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(e){if(this.items.length===0){this.writeEmpty(e);return}this.writeWithItems(e)}writeEmpty(e){let r=new ge("[]");this.hasError&&r.setColor(e.context.colors.red).underline(),e.write(r)}writeWithItems(e){let{colors:r}=e.context;e.writeLine("[").withIndent(()=>e.writeJoined(ze,this.items).newLine()).write("]"),this.hasError&&e.afterNextNewline(()=>{e.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var Xe=class t extends Se{fields={};suggestions=[];addField(e){this.fields[e.name]=e}addSuggestion(e){this.suggestions.push(e)}getField(e){return this.fields[e]}getDeepField(e){let[r,...n]=e,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof t?a=o.value.getField(s):o.value instanceof Ye&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(e){return e.length===0?this:this.getDeepField(e)?.value}hasField(e){return!!this.getField(e)}removeAllFields(){this.fields={}}removeField(e){delete this.fields[e]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(e){return this.getField(e)?.value}getDeepSubSelectionValue(e){let r=this;for(let n of e){if(!(r instanceof t))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(e){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of e){let o=n.value.getFieldValue(i);if(!o||!(o instanceof t))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let e=this.getField("select")?.value.asObject();if(e)return{kind:"select",value:e};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(e){return this.getSelectionParent()?.value.fields[e].value}getPrintWidth(){let e=Object.values(this.fields);return e.length==0?2:Math.max(...e.map(n=>n.getPrintWidth()))+2}write(e){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(e);return}this.writeWithContents(e,r)}asObject(){return this}writeEmpty(e){let r=new ge("{}");this.hasError&&r.setColor(e.context.colors.red).underline(),e.write(r)}writeWithContents(e,r){e.writeLine("{").withIndent(()=>{e.writeJoined(ze,[...r,...this.suggestions]).newLine()}),e.write("}"),this.hasError&&e.afterNextNewline(()=>{e.writeLine(e.context.colors.red("~".repeat(this.getPrintWidth())))})}};u();c();p();m();d();l();var z=class extends Se{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new ge(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};u();c();p();m();d();l();var Ct=class{fields=[];addField(e,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${e}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(e){let{colors:{green:r}}=e.context;e.writeLine(r("{")).withIndent(()=>{e.writeJoined(ze,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function wr(t,e,r){switch(t.kind){case"MutuallyExclusiveFields":tl(t,e);break;case"IncludeOnScalar":rl(t,e);break;case"EmptySelection":nl(t,e,r);break;case"UnknownSelectionField":al(t,e);break;case"InvalidSelectionValue":ll(t,e);break;case"UnknownArgument":ul(t,e);break;case"UnknownInputField":cl(t,e);break;case"RequiredArgumentMissing":pl(t,e);break;case"InvalidArgumentType":ml(t,e);break;case"InvalidArgumentValue":dl(t,e);break;case"ValueTooLarge":fl(t,e);break;case"SomeFieldsMissing":gl(t,e);break;case"TooManyFieldsGiven":yl(t,e);break;case"Union":$i(t,e,r);break;default:throw new Error("not implemented: "+t.kind)}}function tl(t,e){let r=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();r&&(r.getField(t.firstField)?.markAsError(),r.getField(t.secondField)?.markAsError()),e.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${t.firstField}\``)} or ${n.green(`\`${t.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function rl(t,e){let[r,n]=Ze(t.selectionPath),i=t.outputType,o=e.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new se(s.name,"true"));e.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${St(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function nl(t,e,r){let n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){il(t,e,i);return}if(n.hasField("select")){ol(t,e);return}}if(r?.[Ce(t.outputType.name)]){sl(t,e);return}e.addErrorMessage(()=>`Unknown field at "${t.selectionPath.join(".")} selection"`)}function il(t,e,r){r.removeAllFields();for(let n of t.outputType.fields)r.addSuggestion(new se(n.name,"false"));e.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(t.outputType.name)}. At least one field must be included in the result`)}function ol(t,e){let r=t.outputType,n=e.arguments.getDeepSelectionParent(t.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),zi(n,r)),e.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${St(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function sl(t,e){let r=new Ct;for(let i of t.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new se("omit",r).makeRequired();if(t.selectionPath.length===0)e.arguments.addSuggestion(n);else{let[i,o]=Ze(t.selectionPath),a=e.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let f=a?.value.asObject()??new Xe;f.addSuggestion(n),a.value=f}}e.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(t.outputType.name)}. At least one field must be included in the result`)}function al(t,e){let r=Yi(t.selectionPath,e);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":zi(n,t.outputType);break;case"include":hl(n,t.outputType);break;case"omit":bl(n,t.outputType);break}}e.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${t.outputType.name}\``)}.`),i.push(St(n)),i.join(" ")})}function ll(t,e){let r=Yi(t.selectionPath,e);r.parentKind!=="unknown"&&r.field.value.markAsError(),e.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${t.underlyingError}`)}function ul(t,e){let r=t.argumentPath[0],n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),El(n,t.arguments)),e.addErrorMessage(i=>Ki(i,r,t.arguments.map(o=>o.name)))}function cl(t,e){let[r,n]=Ze(t.argumentPath),i=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(i){i.getDeepField(t.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Xi(o,t.inputType)}e.addErrorMessage(o=>Ki(o,n,t.inputType.fields.map(s=>s.name)))}function Ki(t,e,r){let n=[`Unknown argument \`${t.red(e)}\`.`],i=xl(e,r);return i&&n.push(`Did you mean \`${t.green(i)}\`?`),r.length>0&&n.push(St(t)),n.join(" ")}function pl(t,e){let r;e.addErrorMessage(f=>r?.value instanceof z&&r.value.text==="null"?`Argument \`${f.green(o)}\` must not be ${f.red("null")}.`:`Argument \`${f.green(o)}\` is missing.`);let n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(!n)return;let[i,o]=Ze(t.argumentPath),s=new Ct,a=n.getDeepFieldValue(i)?.asObject();if(a){if(r=a.getField(o),r&&a.removeField(o),t.inputTypes.length===1&&t.inputTypes[0].kind==="object"){for(let f of t.inputTypes[0].fields)s.addField(f.name,f.typeNames.join(" | "));a.addSuggestion(new se(o,s).makeRequired())}else{let f=t.inputTypes.map(Hi).join(" | ");a.addSuggestion(new se(o,f).makeRequired())}if(t.dependentArgumentPath){n.getDeepField(t.dependentArgumentPath)?.markAsError();let[,f]=Ze(t.dependentArgumentPath);e.addErrorMessage(v=>`Argument \`${v.green(o)}\` is required because argument \`${v.green(f)}\` was provided.`)}}}function Hi(t){return t.kind==="list"?`${Hi(t.elementType)}[]`:t.name}function ml(t,e){let r=t.argument.name,n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();n&&n.getDeepFieldValue(t.argumentPath)?.markAsError(),e.addErrorMessage(i=>{let o=vr("or",t.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(t.inferredType)}.`})}function dl(t,e){let r=t.argument.name,n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();n&&n.getDeepFieldValue(t.argumentPath)?.markAsError(),e.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(t.underlyingError&&o.push(`: ${t.underlyingError}`),o.push("."),t.argument.typeNames.length>0){let s=vr("or",t.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function fl(t,e){let r=t.argument.name,n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(t.argumentPath)?.value;s?.markAsError(),s instanceof z&&(i=s.text)}e.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function gl(t,e){let r=t.argumentPath[t.argumentPath.length-1],n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(t.argumentPath)?.asObject();i&&Xi(i,t.inputType)}e.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(t.inputType.name)} needs`];return t.constraints.minFieldCount===1?t.constraints.requiredFields?o.push(`${i.green("at least one of")} ${vr("or",t.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${t.constraints.minFieldCount}`)} arguments.`),o.push(St(i)),o.join(" ")})}function yl(t,e){let r=t.argumentPath[t.argumentPath.length-1],n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(t.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}e.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(t.inputType.name)} needs`];return t.constraints.minFieldCount===1&&t.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):t.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${t.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${vr("and",i.map(a=>o.red(a)))}. Please choose`),t.constraints.maxFieldCount===1?s.push("one."):s.push(`${t.constraints.maxFieldCount}.`),s.join(" ")})}function zi(t,e){for(let r of e.fields)t.hasField(r.name)||t.addSuggestion(new se(r.name,"true"))}function hl(t,e){for(let r of e.fields)r.isRelation&&!t.hasField(r.name)&&t.addSuggestion(new se(r.name,"true"))}function bl(t,e){for(let r of e.fields)!t.hasField(r.name)&&!r.isRelation&&t.addSuggestion(new se(r.name,"true"))}function El(t,e){for(let r of e)t.hasField(r.name)||t.addSuggestion(new se(r.name,r.typeNames.join(" | ")))}function Yi(t,e){let[r,n]=Ze(t),i=e.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),f=o?.getField(n);return o&&f?{parentKind:"select",parent:o,field:f,fieldName:n}:(f=s?.getField(n),s&&f?{parentKind:"include",field:f,parent:s,fieldName:n}:(f=a?.getField(n),a&&f?{parentKind:"omit",field:f,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Xi(t,e){if(e.kind==="object")for(let r of e.fields)t.hasField(r.name)||t.addSuggestion(new se(r.name,r.typeNames.join(" | ")))}function Ze(t){let e=[...t],r=e.pop();if(!r)throw new Error("unexpected empty path");return[e,r]}function St({green:t,enabled:e}){return"Available options are "+(e?`listed in ${t("green")}`:"marked with ?")+"."}function vr(t,e){if(e.length===1)return e[0];let r=[...e],n=r.pop();return`${r.join(", ")} ${t} ${n}`}var wl=3;function xl(t,e){let r=1/0,n;for(let i of e){let o=(0,Wi.default)(t,i);o>wl||o`}};function et(t){return t instanceof It}u();c();p();m();d();l();var Rr=Symbol(),En=new WeakMap,ve=class{constructor(e){e===Rr?En.set(this,`Prisma.${this._getName()}`):En.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return En.get(this)}},Dt=class extends ve{_getNamespace(){return"NullTypes"}},Ot=class extends Dt{#e};wn(Ot,"DbNull");var kt=class extends Dt{#e};wn(kt,"JsonNull");var _t=class extends Dt{#e};wn(_t,"AnyNull");var Ar={classes:{DbNull:Ot,JsonNull:kt,AnyNull:_t},instances:{DbNull:new Ot(Rr),JsonNull:new kt(Rr),AnyNull:new _t(Rr)}};function wn(t,e){Object.defineProperty(t,"name",{value:e,configurable:!0})}u();c();p();m();d();l();var Zi=": ",Cr=class{constructor(e,r){this.name=e;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Zi.length}write(e){let r=new ge(this.name);this.hasError&&r.underline().setColor(e.context.colors.red),e.write(r).write(Zi).write(this.value)}};var xn=class{arguments;errorMessages=[];constructor(e){this.arguments=e}write(e){e.write(this.arguments)}addErrorMessage(e){this.errorMessages.push(e)}renderAllMessages(e){return this.errorMessages.map(r=>r(e)).join(` +`)}};function tt(t){return new xn(eo(t))}function eo(t){let e=new Xe;for(let[r,n]of Object.entries(t)){let i=new Cr(r,to(n));e.addField(i)}return e}function to(t){if(typeof t=="string")return new z(JSON.stringify(t));if(typeof t=="number"||typeof t=="boolean")return new z(String(t));if(typeof t=="bigint")return new z(`${t}n`);if(t===null)return new z("null");if(t===void 0)return new z("undefined");if(Ke(t))return new z(`new Prisma.Decimal("${t.toFixed()}")`);if(t instanceof Uint8Array)return h.isBuffer(t)?new z(`Buffer.alloc(${t.byteLength})`):new z(`new Uint8Array(${t.byteLength})`);if(t instanceof Date){let e=br(t)?t.toISOString():"Invalid Date";return new z(`new Date("${e}")`)}return t instanceof ve?new z(`Prisma.${t._getName()}`):et(t)?new z(`prisma.${Ce(t.modelName)}.$fields.${t.name}`):Array.isArray(t)?Pl(t):typeof t=="object"?eo(t):new z(Object.prototype.toString.call(t))}function Pl(t){let e=new Ye;for(let r of t)e.addItem(to(r));return e}function Sr(t,e){let r=e==="pretty"?Ji:Tr,n=t.renderAllMessages(r),i=new He(0,{colors:r}).write(t).toString();return{message:n,args:i}}function Ir({args:t,errors:e,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=tt(t);for(let A of e)wr(A,a,s);let{message:f,args:v}=Sr(a,r),R=Er({message:f,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:v});throw new Y(R,{clientVersion:o})}u();c();p();m();d();l();u();c();p();m();d();l();function ye(t){return t.replace(/^./,e=>e.toLowerCase())}u();c();p();m();d();l();function no(t,e,r){let n=ye(r);return!e.result||!(e.result.$allModels||e.result[n])?t:Tl({...t,...ro(e.name,t,e.result.$allModels),...ro(e.name,t,e.result[n])})}function Tl(t){let e=new fe,r=(n,i)=>e.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),t[n]?t[n].needs.flatMap(o=>r(o,i)):[n]));return hr(t,n=>({...n,needs:r(n.name,new Set)}))}function ro(t,e,r){return r?hr(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:vl(e,o,i)})):{}}function vl(t,e,r){let n=t?.[e]?.compute;return n?i=>r({...i,[e]:n(i)}):r}function io(t,e){if(!e)return t;let r={...t};for(let n of Object.values(e))if(t[n.name])for(let i of n.needs)r[i]=!0;return r}function oo(t,e){if(!e)return t;let r={...t};for(let n of Object.values(e))if(!t[n.name])for(let i of n.needs)delete r[i];return r}var Dr=class{constructor(e,r){this.extension=e;this.previous=r}computedFieldsCache=new fe;modelExtensionsCache=new fe;queryCallbacksCache=new fe;clientExtensions=vt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=vt(()=>{let e=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?e.concat(r):e});getAllComputedFields(e){return this.computedFieldsCache.getOrCreate(e,()=>no(this.previous?.getAllComputedFields(e),this.extension,e))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(e){return this.modelExtensionsCache.getOrCreate(e,()=>{let r=ye(e);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(e):{...this.previous?.getAllModelExtensions(e),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(e,r){return this.queryCallbacksCache.getOrCreate(`${e}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(e,r)??[],i=[],o=this.extension.query;return!o||!(o[e]||o.$allModels||o[r]||o.$allOperations)?n:(o[e]!==void 0&&(o[e][r]!==void 0&&i.push(o[e][r]),o[e].$allOperations!==void 0&&i.push(o[e].$allOperations)),e!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},rt=class t{constructor(e){this.head=e}static empty(){return new t}static single(e){return new t(new Dr(e))}isEmpty(){return this.head===void 0}append(e){return new t(new Dr(e,this.head))}getAllComputedFields(e){return this.head?.getAllComputedFields(e)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(e){return this.head?.getAllModelExtensions(e)}getAllQueryCallbacks(e,r){return this.head?.getAllQueryCallbacks(e,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};u();c();p();m();d();l();var Or=class{constructor(e){this.name=e}};function so(t){return t instanceof Or}function ao(t){return new Or(t)}u();c();p();m();d();l();u();c();p();m();d();l();var lo=Symbol(),Mt=class{constructor(e){if(e!==lo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(e){return e===void 0?kr:e}},kr=new Mt(lo);function he(t){return t instanceof Mt}var Rl={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},uo="explicitly `undefined` values are not allowed";function _r({modelName:t,action:e,args:r,runtimeDataModel:n,extensions:i=rt.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:f,previewFeatures:v,globalOmit:R}){let A=new Pn({runtimeDataModel:n,modelName:t,action:e,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:f,previewFeatures:v,globalOmit:R});return{modelName:t,action:Rl[e],query:Lt(r,A)}}function Lt({select:t,include:e,...r}={},n){let i=r.omit;return delete r.omit,{arguments:po(r,n),selection:Al(t,e,i,n)}}function Al(t,e,r,n){return t?(e?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),Dl(t,n)):Cl(n,e,r)}function Cl(t,e,r){let n={};return t.modelOrType&&!t.isRawAction()&&(n.$composites=!0,n.$scalars=!0),e&&Sl(n,e,t),Il(n,r,t),n}function Sl(t,e,r){for(let[n,i]of Object.entries(e)){if(he(i))continue;let o=r.nestSelection(n);if(Tn(i,o),i===!1||i===void 0){t[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){t[n]=Lt(i===!0?{}:i,o);continue}if(i===!0){t[n]=!0;continue}t[n]=Lt(i,o)}}function Il(t,e,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...e},o=oo(i,n);for(let[s,a]of Object.entries(o)){if(he(a))continue;Tn(a,r.nestSelection(s));let f=r.findField(s);n?.[s]&&!f||(t[s]=!a)}}function Dl(t,e){let r={},n=e.getComputedFields(),i=io(t,n);for(let[o,s]of Object.entries(i)){if(he(s))continue;let a=e.nestSelection(o);Tn(s,a);let f=e.findField(o);if(!(n?.[o]&&!f)){if(s===!1||s===void 0||he(s)){r[o]=!1;continue}if(s===!0){f?.kind==="object"?r[o]=Lt({},a):r[o]=!0;continue}r[o]=Lt(s,a)}}return r}function co(t,e){if(t===null)return null;if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="bigint")return{$type:"BigInt",value:String(t)};if(We(t)){if(br(t))return{$type:"DateTime",value:t.toISOString()};e.throwValidationError({kind:"InvalidArgumentValue",selectionPath:e.getSelectionPath(),argumentPath:e.getArgumentPath(),argument:{name:e.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(so(t))return{$type:"Param",value:t.name};if(et(t))return{$type:"FieldRef",value:{_ref:t.name,_container:t.modelName}};if(Array.isArray(t))return Ol(t,e);if(ArrayBuffer.isView(t)){let{buffer:r,byteOffset:n,byteLength:i}=t;return{$type:"Bytes",value:h.from(r,n,i).toString("base64")}}if(kl(t))return t.values;if(Ke(t))return{$type:"Decimal",value:t.toFixed()};if(t instanceof ve){if(t!==Ar.instances[t._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:t._getName()}}if(_l(t))return t.toJSON();if(typeof t=="object")return po(t,e);e.throwValidationError({kind:"InvalidArgumentValue",selectionPath:e.getSelectionPath(),argumentPath:e.getArgumentPath(),argument:{name:e.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(t)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function po(t,e){if(t.$type)return{$type:"Raw",value:t};let r={};for(let n in t){let i=t[n],o=e.nestArgument(n);he(i)||(i!==void 0?r[n]=co(i,o):e.isPreviewFeatureOn("strictUndefinedChecks")&&e.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:e.getSelectionPath(),argument:{name:e.getArgumentName(),typeNames:[]},underlyingError:uo}))}return r}function Ol(t,e){let r=[];for(let n=0;n({name:e.name,typeName:"boolean",isRelation:e.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(e){return this.params.previewFeatures.includes(e)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(e){return this.modelOrType?.fields.find(r=>r.name===e)}nestSelection(e){let r=this.findField(e),n=r?.kind==="object"?r.type:void 0;return new t({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(e)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[Ce(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Fe(this.params.action,"Unknown action")}}nestArgument(e){return new t({...this.params,argumentPath:this.params.argumentPath.concat(e)})}};u();c();p();m();d();l();function mo(t){if(!t._hasPreviewFlag("metrics"))throw new Y("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:t._clientVersion})}var nt=class{_client;constructor(e){this._client=e}prometheus(e){return mo(this._client),this._client._engine.metrics({format:"prometheus",...e})}json(e){return mo(this._client),this._client._engine.metrics({format:"json",...e})}};u();c();p();m();d();l();function fo(t,e){let r=vt(()=>Ml(e));Object.defineProperty(t,"dmmf",{get:()=>r.get()})}function Ml(t){throw new Error("Prisma.dmmf is not available when running in edge runtimes.")}function vn(t){return Object.entries(t).map(([e,r])=>({name:e,...r}))}u();c();p();m();d();l();var Rn=new WeakMap,Mr="$$PrismaTypedSql",Ft=class{constructor(e,r){Rn.set(this,{sql:e,values:r}),Object.defineProperty(this,Mr,{value:Mr})}get sql(){return Rn.get(this).sql}get values(){return Rn.get(this).values}};function go(t){return(...e)=>new Ft(t,e)}function Lr(t){return t!=null&&t[Mr]===Mr}u();c();p();m();d();l();var Ls=bt(un());u();c();p();m();d();l();yo();Ti();Si();u();c();p();m();d();l();var ne=class t{constructor(e,r){if(e.length-1!==r.length)throw e.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${e.length} strings to have ${e.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof t?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=e[0];let i=0,o=0;for(;it.getPropertyValue(r))},getPropertyDescriptor(r){return t.getPropertyDescriptor?.(r)}}}u();c();p();m();d();l();u();c();p();m();d();l();var Nr={enumerable:!0,configurable:!0,writable:!0};function Ur(t){let e=new Set(t);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Nr,has:(r,n)=>e.has(n),set:(r,n,i)=>e.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...e]}}var Eo=Symbol.for("nodejs.util.inspect.custom");function ce(t,e){let r=Ll(e),n=new Set,i=new Proxy(t,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=wo(Reflect.ownKeys(o),r),a=wo(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let f=r.get(s);return f?f.getPropertyDescriptor?{...Nr,...f?.getPropertyDescriptor(s)}:Nr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[Eo]=function(){let o={...this};return delete o[Eo],o},i}function Ll(t){let e=new Map;for(let r of t){let n=r.getKeys();for(let i of n)e.set(i,r)}return e}function wo(t,e){return t.filter(r=>e.get(r)?.has?.(r)??!0)}u();c();p();m();d();l();function it(t){return{getKeys(){return t},has(){return!1},getPropertyValue(){}}}u();c();p();m();d();l();function ot(t,e){return{batch:t,transaction:e?.kind==="batch"?{isolationLevel:e.options.isolationLevel}:void 0}}u();c();p();m();d();l();function xo(t){if(t===void 0)return"";let e=tt(t);return new He(0,{colors:Tr}).write(e).toString()}u();c();p();m();d();l();var Fl="P2037";function st({error:t,user_facing_error:e},r,n){return e.error_code?new X(Nl(e,n),{code:e.error_code,clientVersion:r,meta:e.meta,batchRequestIdx:e.batch_request_idx}):new Q(t,{clientVersion:r,batchRequestIdx:e.batch_request_idx})}function Nl(t,e){let r=t.message;return(e==="postgresql"||e==="postgres"||e==="mysql")&&t.error_code===Fl&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var Sn=class{getLocation(){return null}};function Ie(t){return typeof $EnabledCallSite=="function"&&t!=="minimal"?new $EnabledCallSite:new Sn}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var Po={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function at(t={}){let e=ql(t);return Object.entries(e).reduce((n,[i,o])=>(Po[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function ql(t={}){return typeof t._count=="boolean"?{...t,_count:{_all:t._count}}:t}function qr(t={}){return e=>(typeof t._count=="boolean"&&(e._count=e._count._all),e)}function To(t,e){let r=qr(t);return e({action:"aggregate",unpacker:r,argsMapper:at})(t)}u();c();p();m();d();l();function Vl(t={}){let{select:e,...r}=t;return typeof e=="object"?at({...r,_count:e}):at({...r,_count:{_all:!0}})}function Bl(t={}){return typeof t.select=="object"?e=>qr(t)(e)._count:e=>qr(t)(e)._count._all}function vo(t,e){return e({action:"count",unpacker:Bl(t),argsMapper:Vl})(t)}u();c();p();m();d();l();function $l(t={}){let e=at(t);if(Array.isArray(e.by))for(let r of e.by)typeof r=="string"&&(e.select[r]=!0);else typeof e.by=="string"&&(e.select[e.by]=!0);return e}function jl(t={}){return e=>(typeof t?._count=="boolean"&&e.forEach(r=>{r._count=r._count._all}),e)}function Ro(t,e){return e({action:"groupBy",unpacker:jl(t),argsMapper:$l})(t)}function Ao(t,e,r){if(e==="aggregate")return n=>To(n,r);if(e==="count")return n=>vo(n,r);if(e==="groupBy")return n=>Ro(n,r)}u();c();p();m();d();l();function Co(t,e){let r=e.fields.filter(i=>!i.relationName),n=Ni(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new It(t,o,s.type,s.isList,s.kind==="enum")},...Ur(Object.keys(n))})}u();c();p();m();d();l();u();c();p();m();d();l();var So=t=>Array.isArray(t)?t:t.split("."),In=(t,e)=>So(e).reduce((r,n)=>r&&r[n],t),Io=(t,e,r)=>So(e).reduceRight((n,i,o,s)=>Object.assign({},In(t,s.slice(0,o)),{[i]:n}),r);function Ql(t,e){return t===void 0||e===void 0?[]:[...e,"select",t]}function Gl(t,e,r){return e===void 0?t??{}:Io(e,r,t||!0)}function Dn(t,e,r,n,i,o){let a=t._runtimeDataModel.models[e].fields.reduce((f,v)=>({...f,[v.name]:v}),{});return f=>{let v=Ie(t._errorFormat),R=Ql(n,i),A=Gl(f,o,R),I=r({dataPath:R,callsite:v})(A),C=Jl(t,e);return new Proxy(I,{get(L,D){if(!C.includes(D))return L[D];let Ee=[a[D].type,r,D],ee=[R,A];return Dn(t,...Ee,...ee)},...Ur([...C,...Object.getOwnPropertyNames(I)])})}}function Jl(t,e){return t._runtimeDataModel.models[e].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Wl=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Kl=["aggregate","count","groupBy"];function On(t,e){let r=t._extensions.getAllModelExtensions(e)??{},n=[Hl(t,e),Yl(t,e),Nt(r),Z("name",()=>e),Z("$name",()=>e),Z("$parent",()=>t._appliedParent)];return ce({},n)}function Hl(t,e){let r=ye(e),n=Object.keys(Rt).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>f=>{let v=Ie(t._errorFormat);return t._createPrismaPromise(R=>{let A={args:f,dataPath:[],action:o,model:e,clientMethod:`${r}.${i}`,jsModelName:r,transaction:R,callsite:v};return t._request({...A,...a})},{action:o,args:f,model:e})};return Wl.includes(o)?Dn(t,e,s):zl(i)?Ao(t,i,s):s({})}}}function zl(t){return Kl.includes(t)}function Yl(t,e){return Ne(Z("fields",()=>{let r=t._runtimeDataModel.models[e];return Co(e,r)}))}u();c();p();m();d();l();function Do(t){return t.replace(/^./,e=>e.toUpperCase())}var kn=Symbol();function Ut(t){let e=[Xl(t),Zl(t),Z(kn,()=>t),Z("$parent",()=>t._appliedParent)],r=t._extensions.getAllClientExtensions();return r&&e.push(Nt(r)),ce(t,e)}function Xl(t){let e=Object.getPrototypeOf(t._originalClient),r=[...new Set(Object.getOwnPropertyNames(e))];return{getKeys(){return r},getPropertyValue(n){return t[n]}}}function Zl(t){let e=Object.keys(t._runtimeDataModel.models),r=e.map(ye),n=[...new Set(e.concat(r))];return Ne({getKeys(){return n},getPropertyValue(i){let o=Do(i);if(t._runtimeDataModel.models[o]!==void 0)return On(t,o);if(t._runtimeDataModel.models[i]!==void 0)return On(t,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function Oo(t){return t[kn]?t[kn]:t}function ko(t){if(typeof t=="function")return t(this);if(t.client?.__AccelerateEngine){let r=t.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let e=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(t)},_appliedParent:{value:this,configurable:!0},$on:{value:void 0}});return Ut(e)}u();c();p();m();d();l();u();c();p();m();d();l();function _o({result:t,modelName:e,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(e);if(!o)return t;let s=[],a=[];for(let f of Object.values(o)){if(n){if(n[f.name])continue;let v=f.needs.filter(R=>n[R]);v.length>0&&a.push(it(v))}else if(r){if(!r[f.name])continue;let v=f.needs.filter(R=>!r[R]);v.length>0&&a.push(it(v))}eu(t,f.needs)&&s.push(tu(f,ce(t,s)))}return s.length>0||a.length>0?ce(t,[...s,...a]):t}function eu(t,e){return e.every(r=>fn(t,r))}function tu(t,e){return Ne(Z(t.name,()=>t.compute(e)))}u();c();p();m();d();l();function Vr({visitor:t,result:e,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(e)){for(let s=0;sR.name===o);if(!f||f.kind!=="object"||!f.relationName)continue;let v=typeof s=="object"?s:{};e[o]=Vr({visitor:i,result:e[o],args:v,modelName:f.type,runtimeDataModel:n})}}function Lo({result:t,modelName:e,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||t==null||typeof t!="object"||!i.models[e]?t:Vr({result:t,args:r??{},modelName:e,runtimeDataModel:i,visitor:(a,f,v)=>{let R=ye(f);return _o({result:a,modelName:R,select:v.select,omit:v.select?void 0:{...o?.[R],...v.omit},extensions:n})}})}u();c();p();m();d();l();u();c();p();m();d();l();l();u();c();p();m();d();l();var ru=["$connect","$disconnect","$on","$transaction","$extends"],Fo=ru;function No(t){if(t instanceof ne)return nu(t);if(Lr(t))return iu(t);if(Array.isArray(t)){let r=[t[0]];for(let n=1;n{let o=e.customDataProxyFetch;return"transaction"in e&&i!==void 0&&(e.transaction?.kind==="batch"&&e.transaction.lock.then(),e.transaction=i),n===r.length?t._executeRequest(e):r[n]({model:e.model,operation:e.model?e.action:e.clientMethod,args:No(e.args??{}),__internalParams:e,query:(s,a=e)=>{let f=a.customDataProxyFetch;return a.customDataProxyFetch=jo(o,f),a.args=s,qo(t,a,r,n+1)}})})}function Vo(t,e){let{jsModelName:r,action:n,clientMethod:i}=e,o=r?n:i;if(t._extensions.isEmpty())return t._executeRequest(e);let s=t._extensions.getAllQueryCallbacks(r??"$none",o);return qo(t,e,s)}function Bo(t){return e=>{let r={requests:e},n=e[0].extensions.getAllBatchQueryCallbacks();return n.length?$o(r,n,0,t):t(r)}}function $o(t,e,r,n){if(r===e.length)return n(t);let i=t.customDataProxyFetch,o=t.requests[0].transaction;return e[r]({args:{queries:t.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:t,query(s,a=t){let f=a.customDataProxyFetch;return a.customDataProxyFetch=jo(i,f),$o(a,e,r+1,n)}})}var Uo=t=>t;function jo(t=Uo,e=Uo){return r=>t(e(r))}u();c();p();m();d();l();var Qo=j("prisma:client"),Go={Vercel:"vercel","Netlify CI":"netlify"};function Jo({postinstall:t,ciName:e,clientVersion:r,generator:n}){if(Qo("checkPlatformCaching:postinstall",t),Qo("checkPlatformCaching:ciName",e),t===!0&&!(n?.output&&typeof(n.output.fromEnvVar??n.output.value)=="string")&&e&&e in Go){let i=`Prisma has detected that this project was built on ${e}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${Go[e]}-build`;throw console.error(i),new M(i,r)}}u();c();p();m();d();l();function Wo(t,e){return t?t.datasources?t.datasources:t.datasourceUrl?{[e[0]]:{url:t.datasourceUrl}}:{}:{}}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();l();u();c();p();m();d();l();l();function Ko(t,e){throw new Error(e)}function ou(t){return t!==null&&typeof t=="object"&&typeof t.$type=="string"}function su(t,e){let r={};for(let n of Object.keys(t))r[n]=e(t[n],n);return r}function lt(t){return t===null?t:Array.isArray(t)?t.map(lt):typeof t=="object"?ou(t)?au(t):t.constructor!==null&&t.constructor.name!=="Object"?t:su(t,lt):t}function au({$type:t,value:e}){switch(t){case"BigInt":return BigInt(e);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=h.from(e,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(e);case"Decimal":return new P(e);case"Json":return JSON.parse(e);default:Ko(e,"Unknown tagged value")}}var Ho="6.19.2";u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var uu=()=>globalThis.process?.release?.name==="node",cu=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,pu=()=>!!globalThis.Deno,mu=()=>typeof globalThis.Netlify=="object",du=()=>typeof globalThis.EdgeRuntime=="object",fu=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function gu(){return[[mu,"netlify"],[du,"edge-light"],[fu,"workerd"],[pu,"deno"],[cu,"bun"],[uu,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var yu={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function ut(){let t=gu();return{id:t,prettyName:yu[t]||t,isEdge:["workerd","deno","netlify","edge-light"].includes(t)}}function ct({inlineDatasources:t,overrideDatasources:e,env:r,clientVersion:n}){let i,o=Object.keys(t)[0],s=t[o]?.url,a=e[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw ut().id==="workerd"?new M(`error: Environment variable not found: ${s.fromEnvVar}. + +In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new M(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new M("error: Missing URL environment variable, value, or override.",n);return i}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var Br=class extends Error{clientVersion;cause;constructor(e,r){super(e),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var ie=class extends Br{isRetryable;constructor(e,r){super(e,r),this.isRetryable=r.isRetryable??!0}};u();c();p();m();d();l();function _(t,e){return{...t,isRetryable:e}}var Ue=class extends ie{name="InvalidDatasourceError";code="P6001";constructor(e,r){super(e,_(r,!1))}};O(Ue,"InvalidDatasourceError");function zo(t){let e={clientVersion:t.clientVersion},r=Object.keys(t.inlineDatasources)[0],n=ct({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,clientVersion:t.clientVersion,env:{...t.env,...typeof g<"u"?g.env:{}}}),i;try{i=new URL(n)}catch{throw new Ue(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,e)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==fr)throw new Ue(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,e);let a=s.get("api_key");if(a===null||a.length<1)throw new Ue(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,e);let f=cn(i)?"http:":"https:";g.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR&&i.searchParams.has("use_http")&&(f="http:");let v=new URL(i.href.replace(o,f));return{apiKey:a,url:v}}u();c();p();m();d();l();var Yo=bt(Di()),$r=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:e,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=e,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:e,transactionId:r}={}){let n={Accept:"application/json",Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json","Prisma-Engine-Hash":this.engineHash,"Prisma-Engine-Version":Yo.enginesVersion};this.tracingHelper.isEnabled()&&(n.traceparent=e??this.tracingHelper.getTraceParent()),r&&(n["X-Transaction-Id"]=r);let i=this.#e();return i.length>0&&(n["X-Capture-Telemetry"]=i.join(", ")),n}#e(){let e=[];return this.tracingHelper.isEnabled()&&e.push("tracing"),this.logLevel&&e.push(this.logLevel),this.logQueries&&e.push("query"),e}};u();c();p();m();d();l();function hu(t){return t[0]*1e3+t[1]/1e6}function _n(t){return new Date(hu(t))}u();c();p();m();d();l();u();c();p();m();d();l();var pt=class extends ie{name="ForcedRetryError";code="P5001";constructor(e){super("This request must be retried",_(e,!0))}};O(pt,"ForcedRetryError");u();c();p();m();d();l();var qe=class extends ie{name="NotImplementedYetError";code="P5004";constructor(e,r){super(e,_(r,!1))}};O(qe,"NotImplementedYetError");u();c();p();m();d();l();u();c();p();m();d();l();var V=class extends ie{response;constructor(e,r){super(e,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var Ve=class extends V{name="SchemaMissingError";code="P5005";constructor(e){super("Schema needs to be uploaded",_(e,!0))}};O(Ve,"SchemaMissingError");u();c();p();m();d();l();u();c();p();m();d();l();var Mn="This request could not be understood by the server",Vt=class extends V{name="BadRequestError";code="P5000";constructor(e,r,n){super(r||Mn,_(e,!1)),n&&(this.code=n)}};O(Vt,"BadRequestError");u();c();p();m();d();l();var Bt=class extends V{name="HealthcheckTimeoutError";code="P5013";logs;constructor(e,r){super("Engine not started: healthcheck timeout",_(e,!0)),this.logs=r}};O(Bt,"HealthcheckTimeoutError");u();c();p();m();d();l();var $t=class extends V{name="EngineStartupError";code="P5014";logs;constructor(e,r,n){super(r,_(e,!0)),this.logs=n}};O($t,"EngineStartupError");u();c();p();m();d();l();var jt=class extends V{name="EngineVersionNotSupportedError";code="P5012";constructor(e){super("Engine version is not supported",_(e,!1))}};O(jt,"EngineVersionNotSupportedError");u();c();p();m();d();l();var Ln="Request timed out",Qt=class extends V{name="GatewayTimeoutError";code="P5009";constructor(e,r=Ln){super(r,_(e,!1))}};O(Qt,"GatewayTimeoutError");u();c();p();m();d();l();var bu="Interactive transaction error",Gt=class extends V{name="InteractiveTransactionError";code="P5015";constructor(e,r=bu){super(r,_(e,!1))}};O(Gt,"InteractiveTransactionError");u();c();p();m();d();l();var Eu="Request parameters are invalid",Jt=class extends V{name="InvalidRequestError";code="P5011";constructor(e,r=Eu){super(r,_(e,!1))}};O(Jt,"InvalidRequestError");u();c();p();m();d();l();var Fn="Requested resource does not exist",Wt=class extends V{name="NotFoundError";code="P5003";constructor(e,r=Fn){super(r,_(e,!1))}};O(Wt,"NotFoundError");u();c();p();m();d();l();var Nn="Unknown server error",mt=class extends V{name="ServerError";code="P5006";logs;constructor(e,r,n){super(r||Nn,_(e,!0)),this.logs=n}};O(mt,"ServerError");u();c();p();m();d();l();var Un="Unauthorized, check your connection string",Kt=class extends V{name="UnauthorizedError";code="P5007";constructor(e,r=Un){super(r,_(e,!1))}};O(Kt,"UnauthorizedError");u();c();p();m();d();l();var qn="Usage exceeded, retry again later",Ht=class extends V{name="UsageExceededError";code="P5008";constructor(e,r=qn){super(r,_(e,!0))}};O(Ht,"UsageExceededError");async function wu(t){let e;try{e=await t.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(e);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return e===""?{type:"EmptyError"}:{type:"UnknownTextError",body:e}}}async function zt(t,e){if(t.ok)return;let r={clientVersion:e,response:t},n=await wu(t);if(n.type==="QueryEngineError")throw new X(n.body.message,{code:n.body.error_code,clientVersion:e});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new mt(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new Ve(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new jt(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new $t(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new M(i,e,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Bt(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Gt(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Jt(r,n.body.InvalidRequestError.reason)}if(t.status===401||t.status===403)throw new Kt(r,dt(Un,n));if(t.status===404)return new Wt(r,dt(Fn,n));if(t.status===429)throw new Ht(r,dt(qn,n));if(t.status===504)throw new Qt(r,dt(Ln,n));if(t.status>=500)throw new mt(r,dt(Nn,n));if(t.status>=400)throw new Vt(r,dt(Mn,n))}function dt(t,e){return e.type==="EmptyError"?t:`${t}: ${JSON.stringify(e)}`}u();c();p();m();d();l();function Xo(t){let e=Math.pow(2,t)*50,r=Math.ceil(Math.random()*e)-Math.ceil(e/2),n=e+r;return new Promise(i=>setTimeout(()=>i(n),n))}u();c();p();m();d();l();var Re="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Zo(t){let e=new TextEncoder().encode(t),r="",n=e.byteLength,i=n%3,o=n-i,s,a,f,v,R;for(let A=0;A>18,a=(R&258048)>>12,f=(R&4032)>>6,v=R&63,r+=Re[s]+Re[a]+Re[f]+Re[v];return i==1?(R=e[o],s=(R&252)>>2,a=(R&3)<<4,r+=Re[s]+Re[a]+"=="):i==2&&(R=e[o]<<8|e[o+1],s=(R&64512)>>10,a=(R&1008)>>4,f=(R&15)<<2,r+=Re[s]+Re[a]+Re[f]+"="),r}u();c();p();m();d();l();function es(t){if(!!t.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new M("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",t.clientVersion)}u();c();p();m();d();l();var ts={"@prisma/debug":"workspace:*","@prisma/engines-version":"7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};u();c();p();m();d();l();u();c();p();m();d();l();var Yt=class extends ie{name="RequestError";code="P5010";constructor(e,r){super(`Cannot fetch data from service: +${e}`,_(r,!0))}};O(Yt,"RequestError");async function Be(t,e,r=n=>n){let{clientVersion:n,...i}=e,o=r(fetch);try{return await o(t,i)}catch(s){let a=s.message??"Unknown error";throw new Yt(a,{clientVersion:n,cause:s})}}var Pu=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,rs=j("prisma:client:dataproxyEngine");async function Tu(t,e){let r=ts["@prisma/engines-version"],n=e.clientVersion??"unknown";if(g.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return g.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(t.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&Pu.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,f,v]=s.split("."),R=vu(`<=${a}.${f}.${v}`),A=await Be(R,{clientVersion:n});if(!A.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${A.status} ${A.statusText}, response body: ${await A.text()||""}`);let I=await A.text();rs("length of body fetched from unpkg.com",I.length);let C;try{C=JSON.parse(I)}catch(L){throw console.error("JSON.parse error: body fetched from unpkg.com: ",I),L}return C.version}throw new qe("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function ns(t,e){let r=await Tu(t,e);return rs("version",r),r}function vu(t){return encodeURI(`https://unpkg.com/prisma@${t}/package.json`)}var is=3,Xt=j("prisma:client:dataproxyEngine"),Zt=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(e){es(e),this.config=e,this.env=e.env,this.inlineSchema=Zo(e.inlineSchema),this.inlineDatasources=e.inlineDatasources,this.inlineSchemaHash=e.inlineSchemaHash,this.clientVersion=e.clientVersion,this.engineHash=e.engineVersion,this.logEmitter=e.logEmitter,this.tracingHelper=e.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:e,url:r}=this.getURLAndAPIKey();this.host=r.host,this.protocol=r.protocol,this.headerBuilder=new $r({apiKey:e,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel??"error",logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await ns(this.host,this.config),Xt("host",this.host),Xt("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(e){e?.logs?.length&&e.logs.forEach(r=>{switch(r.level){case"debug":case"trace":Xt(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:_n(r.timestamp),message:r.attributes.message??"",target:r.target??"BinaryEngine"});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:_n(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target??"BinaryEngine"});break}default:r.level}}),e?.traces?.length&&this.tracingHelper.dispatchEngineSpans(e.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(e){return await this.start(),`${this.protocol}//${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${e}`}async uploadSchema(){let e={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(e,async()=>{let r=await Be(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||Xt("schema response status",r.status);let n=await zt(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(e,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:e,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(e,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=ot(e,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(f=>(f.extensions&&this.propagateResponseExtensions(f.extensions),"errors"in f?this.convertProtocolErrorsToClientError(f.errors):f))}requestInternal({body:e,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await Be(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,transactionId:i?.id}),body:JSON.stringify(e),clientVersion:this.clientVersion},n);a.ok||Xt("graphql response status",a.status),await this.handleError(await zt(a,this.clientVersion));let f=await a.json();if(f.extensions&&this.propagateResponseExtensions(f.extensions),"errors"in f)throw this.convertProtocolErrorsToClientError(f.errors);return"batchResult"in f?f.batchResult:f}})}async transaction(e,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[e]} transaction`,callback:async({logHttpCall:o})=>{if(e==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let f=await Be(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await zt(f,this.clientVersion));let v=await f.json(),{extensions:R}=v;R&&this.propagateResponseExtensions(R);let A=v.id,I=v["data-proxy"].endpoint;return{id:A,payload:{endpoint:I}}}else{let s=`${n.payload.endpoint}/${e}`;o(s);let a=await Be(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await zt(a,this.clientVersion));let f=await a.json(),{extensions:v}=f;v&&this.propagateResponseExtensions(v);return}}})}getURLAndAPIKey(){return zo({clientVersion:this.clientVersion,env:this.env,inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources})}metrics(){throw new qe("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(e){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await e.callback({logHttpCall:n})}catch(i){if(!(i instanceof ie)||!i.isRetryable)throw i;if(r>=is)throw i instanceof pt?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${is} failed for ${e.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Xo(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(e){if(e instanceof Ve)throw await this.uploadSchema(),new pt({clientVersion:this.clientVersion,cause:e});if(e)throw e}convertProtocolErrorsToClientError(e){return e.length===1?st(e[0],this.config.clientVersion,this.config.activeProvider):new Q(JSON.stringify(e),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};u();c();p();m();d();l();u();c();p();m();d();l();function os(t){if(t?.kind==="itx")return t.options.id}u();c();p();m();d();l();var Vn,ss={async loadLibrary(t){let{clientVersion:e,adapter:r,engineWasm:n}=t;if(r===void 0)throw new M(`The \`adapter\` option for \`PrismaClient\` is required in this context (${ut().prettyName})`,e);if(n===void 0)throw new M("WASM engine was unexpectedly `undefined`",e);Vn===void 0&&(Vn=(async()=>{let o=await n.getRuntime(),s=await n.getQueryEngineWasmModule();if(s==null)throw new M("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",e);let a={"./query_engine_bg.js":o},f=new WebAssembly.Instance(s,a),v=f.exports.__wbindgen_start;return o.__wbg_set_wasm(f.exports),v(),o.QueryEngine})());let i=await Vn;return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:i}}};var Ru="P2036",be=j("prisma:client:libraryEngine");function Au(t){return t.item_type==="query"&&"query"in t}function Cu(t){return"level"in t?t.level==="error"&&t.message==="PANIC":!1}var VL=[...on,"native"],Su=0xffffffffffffffffn,Bn=1n;function Iu(){let t=Bn++;return Bn>Su&&(Bn=1n),t}var er=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(e,r){this.libraryLoader=r??ss,this.config=e,this.libraryStarted=!1,this.logQueries=e.logQueries??!1,this.logLevel=e.logLevel??"error",this.logEmitter=e.logEmitter,this.datamodel=e.inlineSchema,this.tracingHelper=e.tracingHelper,e.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(e.overrideDatasources)[0],i=e.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(e){return{applyPendingMigrations:e.applyPendingMigrations?.bind(e),commitTransaction:this.withRequestId(e.commitTransaction.bind(e)),connect:this.withRequestId(e.connect.bind(e)),disconnect:this.withRequestId(e.disconnect.bind(e)),metrics:e.metrics?.bind(e),query:this.withRequestId(e.query.bind(e)),rollbackTransaction:this.withRequestId(e.rollbackTransaction.bind(e)),sdlSchema:e.sdlSchema?.bind(e),startTransaction:this.withRequestId(e.startTransaction.bind(e)),trace:e.trace.bind(e),free:e.free?.bind(e)}}withRequestId(e){return async(...r)=>{let n=Iu().toString();try{return await e(...r,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){throw new Error("Cannot call this method from this type of engine instance")}async transaction(e,r,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(r),s;if(e==="start"){let f=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(f,o)}else e==="commit"?s=await this.engine?.commitTransaction(n.id,o):e==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(Du(a)){let f=this.getExternalAdapterError(a,i?.errorRegistry);throw f?f.error:new X(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new Q(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(be("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){}parseEngineResponse(e){if(!e)throw new Q("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(e)}catch{throw new Q("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let e=new b(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(mr));let r=await this.adapterPromise;r&&be("Using driver adapter: %O",r),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:g.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{e.deref()?.logger(n)},r))}catch(e){let r=e,n=this.parseInitError(r.message);throw typeof n=="string"?r:new M(n.message,this.config.clientVersion,n.error_code)}}}logger(e){let r=this.parseEngineResponse(e);r&&(r.level=r?.level.toLowerCase()??"unknown",Au(r)?this.logEmitter.emit("query",{timestamp:new Date,query:r.query,params:r.params,duration:Number(r.duration_ms),target:r.module_path}):(Cu(r),this.logEmitter.emit(r.level,{timestamp:new Date,message:r.message,target:r.module_path})))}parseInitError(e){try{return JSON.parse(e)}catch{}return e}parseRequestError(e){try{return JSON.parse(e)}catch{}return e}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(this.libraryInstantiationPromise||(this.libraryInstantiationPromise=this.instantiateLibrary()),await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return be(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let e=async()=>{be("library starting");try{let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(r)),this.libraryStarted=!0,this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(mr)),await this.adapterPromise,be("library started")}catch(r){let n=this.parseInitError(r.message);throw typeof n=="string"?r:new M(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",e),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return be("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted){await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0;return}let e=async()=>{await new Promise(n=>setImmediate(n)),be("library stopping");let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(r)),this.engine?.free&&this.engine.free(),this.engine=void 0,this.libraryStarted=!1,this.libraryStoppingPromise=void 0,this.libraryInstantiationPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,be("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",e),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(e){return this.library?.debugPanic(e)}async request(e,{traceparent:r,interactiveTransaction:n}){be(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:r}),o=JSON.stringify(e);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new Q(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof M)throw s;s.code==="GenericFailure"&&s.message?.startsWith("PANIC:");let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new Q(`${a.message} +${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(e,{transaction:r,traceparent:n}){be("requestBatch");let i=ot(e,r);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine?.query(this.lastQuery,JSON.stringify({traceparent:n}),os(r));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new Q(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:f,errors:v}=a;if(Array.isArray(f))return f.map(R=>R.errors&&R.errors.length>0?this.loggerRustPanic??this.buildQueryError(R.errors[0],o?.errorRegistry):{data:R});throw v&&v.length===1?new Error(v[0].error):new Error(JSON.stringify(a))}buildQueryError(e,r){e.user_facing_error.is_panic;let n=this.getExternalAdapterError(e.user_facing_error,r);return n?n.error:st(e,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(e,r){if(e.error_code===Ru&&r){let n=e.meta?.id;yr(typeof n=="number","Malformed external JS error received from the engine");let i=r.consumeError(n);return yr(i,"External error with reported id was not registered"),i}}async metrics(e){await this.start();let r=await this.engine.metrics(JSON.stringify(e));return e.format==="prometheus"?r:this.parseEngineResponse(r)}};function Du(t){return typeof t=="object"&&t!==null&&t.error_code!==void 0}u();c();p();m();d();l();function as({url:t,adapter:e,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=D=>{i.push({_tag:"warning",value:D})},a=D=>{let k=D.join(` +`);o.push({_tag:"error",value:k})},f=!!t?.startsWith("prisma://"),v=gr(t),R=!!e,A=f||v;!R&&r&&A&&n!=="client"&&n!=="wasm-compiler-edge"&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let I=A||!r;R&&(I||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):A?a(["You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.","Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter."]):r||a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let C={accelerate:I,ppg:v,driverAdapters:R};function L(D){return D.length>0}return L(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:C}:{ok:!0,diagnostics:{warnings:i},isUsing:C}}function ls({copyEngine:t=!0},e){let r;try{r=ct({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,env:{...e.env,...g.env},clientVersion:e.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=as({url:r,adapter:e.adapter,copyEngine:t,targetBuildType:"wasm-engine-edge"});for(let A of o.warnings)Tt(...A.value);if(!n){let A=o.errors[0];throw new Y(A.value,{clientVersion:e.clientVersion})}let s=Je(e.generator),a=s==="library",f=s==="binary",v=s==="client",R=(i.accelerate||i.ppg)&&!i.driverAdapters;return i.accelerate?new Zt(e):i.driverAdapters?new er(e):new $n({clientVersion:e.clientVersion})}var $n=class{constructor(e){return new Proxy(this,{get(r,n){let i=`In order to run Prisma Client on edge runtime, either: +- Use Prisma Accelerate: https://pris.ly/d/accelerate +- Use Driver Adapters: https://pris.ly/d/driver-adapters`;throw new Y(i,e)}})}};u();c();p();m();d();l();function us({generator:t}){return t?.previewFeatures??[]}u();c();p();m();d();l();var cs=t=>({command:t});u();c();p();m();d();l();u();c();p();m();d();l();var ps=t=>t.strings.reduce((e,r,n)=>`${e}@P${n}${r}`);u();c();p();m();d();l();l();function ft(t){try{return ms(t,"fast")}catch{return ms(t,"slow")}}function ms(t,e){return JSON.stringify(t.map(r=>fs(r,e)))}function fs(t,e){if(Array.isArray(t))return t.map(r=>fs(r,e));if(typeof t=="bigint")return{prisma__type:"bigint",prisma__value:t.toString()};if(We(t))return{prisma__type:"date",prisma__value:t.toJSON()};if(xe.isDecimal(t))return{prisma__type:"decimal",prisma__value:t.toJSON()};if(h.isBuffer(t))return{prisma__type:"bytes",prisma__value:t.toString("base64")};if(Ou(t))return{prisma__type:"bytes",prisma__value:h.from(t).toString("base64")};if(ArrayBuffer.isView(t)){let{buffer:r,byteOffset:n,byteLength:i}=t;return{prisma__type:"bytes",prisma__value:h.from(r,n,i).toString("base64")}}return typeof t=="object"&&e==="slow"?gs(t):t}function Ou(t){return t instanceof ArrayBuffer||t instanceof SharedArrayBuffer?!0:typeof t=="object"&&t!==null?t[Symbol.toStringTag]==="ArrayBuffer"||t[Symbol.toStringTag]==="SharedArrayBuffer":!1}function gs(t){if(typeof t!="object"||t===null)return t;if(typeof t.toJSON=="function")return t.toJSON();if(Array.isArray(t))return t.map(ds);let e={};for(let r of Object.keys(t))e[r]=ds(t[r]);return e}function ds(t){return typeof t=="bigint"?t.toString():gs(t)}var ku=/^(\s*alter\s)/i,ys=j("prisma:client");function jn(t,e,r,n){if(!(t!=="postgresql"&&t!=="cockroachdb")&&r.length>0&&ku.exec(e))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var Qn=({clientMethod:t,activeProvider:e})=>r=>{let n="",i;if(Lr(r))n=r.sql,i={values:ft(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:ft(s||[]),__prismaRawParameters__:!0}}else switch(e){case"sqlite":case"mysql":{n=r.sql,i={values:ft(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:ft(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=ps(r),i={values:ft(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${e} provider does not support ${t}`)}return i?.values?ys(`prisma.${t}(${n}, ${i.values})`):ys(`prisma.${t}(${n})`),{query:n,parameters:i}},hs={requestArgsToMiddlewareArgs(t){return[t.strings,...t.values]},middlewareArgsToRequestArgs(t){let[e,...r]=t;return new ne(e,r)}},bs={requestArgsToMiddlewareArgs(t){return[t]},middlewareArgsToRequestArgs(t){return t[0]}};u();c();p();m();d();l();function Gn(t){return function(r,n){let i,o=(s=t)=>{try{return s===void 0||s?.kind==="itx"?i??=Es(r(s)):Es(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Es(t){return typeof t.then=="function"?t:Promise.resolve(t)}u();c();p();m();d();l();var _u=sn.split(".")[0],Mu={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(t,e){return e()}},Jn=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(e){return this.getGlobalTracingHelper().getTraceParent(e)}dispatchEngineSpans(e){return this.getGlobalTracingHelper().dispatchEngineSpans(e)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(e,r){return this.getGlobalTracingHelper().runInChildSpan(e,r)}getGlobalTracingHelper(){let e=globalThis[`V${_u}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return e?.helper??r?.helper??Mu}};function ws(){return new Jn}u();c();p();m();d();l();function xs(t,e=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--t===0&&r(e()),i?.(n)}}}u();c();p();m();d();l();function Ps(t){return typeof t=="string"?t:t.reduce((e,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?e:e&&(r==="info"||e==="info")?"info":n},void 0)}u();c();p();m();d();l();u();c();p();m();d();l();function jr(t){return typeof t.batchRequestIdx=="number"}u();c();p();m();d();l();function Ts(t){if(t.action!=="findUnique"&&t.action!=="findUniqueOrThrow")return;let e=[];return t.modelName&&e.push(t.modelName),t.query.arguments&&e.push(Wn(t.query.arguments)),e.push(Wn(t.query.selection)),e.join("")}function Wn(t){return`(${Object.keys(t).sort().map(r=>{let n=t[r];return typeof n=="object"&&n!==null?`(${r} ${Wn(n)})`:r}).join(" ")})`}u();c();p();m();d();l();var Lu={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function Kn(t){return Lu[t]}u();c();p();m();d();l();var Qr=class{constructor(e){this.options=e;this.batches={}}batches;tickActive=!1;request(e){let r=this.options.batchBy(e);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,g.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:e,resolve:n,reject:i})})):this.options.singleLoader(e)}dispatchBatches(){for(let e in this.batches){let r=this.batches[e];delete this.batches[e],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;i$e("bigint",r));case"bytes-array":return e.map(r=>$e("bytes",r));case"decimal-array":return e.map(r=>$e("decimal",r));case"datetime-array":return e.map(r=>$e("datetime",r));case"date-array":return e.map(r=>$e("date",r));case"time-array":return e.map(r=>$e("time",r));default:return e}}function Gr(t){let e=[],r=Fu(t);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(A=>A.protocolQuery),f=this.client._tracingHelper.getTraceParent(s),v=n.some(A=>Kn(A.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:f,transaction:Uu(o),containsWrite:v,customDataProxyFetch:i})).map((A,I)=>{if(A instanceof Error)return A;try{return this.mapQueryEngineResult(n[I],A)}catch(C){return C}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?vs(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:Kn(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Ts(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(e){try{return await this.dataloader.request(e)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=e;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:e.globalOmit})}}mapQueryEngineResult({dataPath:e,unpacker:r},n){let i=n?.data,o=this.unpack(i,e,r);return g.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(e){try{this.handleRequestError(e)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:e.clientMethod,timestamp:new Date}),r}}handleRequestError({error:e,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Nu(e),qu(e,i))throw e;if(e instanceof X&&Vu(e)){let v=Rs(e.meta);Ir({args:o,errors:[v],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let f=e.message;if(n&&(f=Er({callsite:n,originalMethod:r,isPanic:e.isPanic,showColors:this.client._errorFormat==="pretty",message:f})),f=this.sanitizeMessage(f),e.code){let v=s?{modelName:s,...e.meta}:e.meta;throw new X(f,{code:e.code,clientVersion:this.client._clientVersion,meta:v,batchRequestIdx:e.batchRequestIdx})}else{if(e.isPanic)throw new Te(f,this.client._clientVersion);if(e instanceof Q)throw new Q(f,{clientVersion:this.client._clientVersion,batchRequestIdx:e.batchRequestIdx});if(e instanceof M)throw new M(f,this.client._clientVersion);if(e instanceof Te)throw new Te(f,this.client._clientVersion)}throw e.clientVersion=this.client._clientVersion,e}sanitizeMessage(e){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?dn(e):e}unpack(e,r,n){if(!e||(e.data&&(e=e.data),!e))return e;let i=Object.keys(e)[0],o=Object.values(e)[0],s=r.filter(v=>v!=="select"&&v!=="include"),a=In(o,s),f=i==="queryRaw"?Gr(a):lt(a);return n?n(f):f}get[Symbol.toStringTag](){return"RequestHandler"}};function Uu(t){if(t){if(t.kind==="batch")return{kind:"batch",options:{isolationLevel:t.isolationLevel}};if(t.kind==="itx")return{kind:"itx",options:vs(t)};Fe(t,"Unknown transaction kind")}}function vs(t){return{id:t.id,payload:t.payload}}function qu(t,e){return jr(t)&&e?.kind==="batch"&&t.batchRequestIdx!==e.index}function Vu(t){return t.code==="P2009"||t.code==="P2012"}function Rs(t){if(t.kind==="Union")return{kind:"Union",errors:t.errors.map(Rs)};if(Array.isArray(t.selectionPath)){let[,...e]=t.selectionPath;return{...t,selectionPath:e}}return t}u();c();p();m();d();l();var As=Ho;u();c();p();m();d();l();var Os=bt(hn());u();c();p();m();d();l();var F=class extends Error{constructor(e){super(e+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};O(F,"PrismaClientConstructorValidationError");var Cs=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],Ss=["pretty","colorless","minimal"],Is=["info","query","warn","error"],Bu={datasources:(t,{datasourceNames:e})=>{if(t){if(typeof t!="object"||Array.isArray(t))throw new F(`Invalid value ${JSON.stringify(t)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(t)){if(!e.includes(r)){let i=gt(r,e)||` Available datasources: ${e.join(", ")}`;throw new F(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new F(`Invalid value ${JSON.stringify(t)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new F(`Invalid value ${JSON.stringify(t)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new F(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(t,e)=>{if(!t&&Je(e.generator)==="client")throw new F('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(t!==null){if(t===void 0)throw new F('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(Je(e.generator)==="binary")throw new F('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')}},datasourceUrl:t=>{if(typeof t<"u"&&typeof t!="string")throw new F(`Invalid value ${JSON.stringify(t)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:t=>{if(t){if(typeof t!="string")throw new F(`Invalid value ${JSON.stringify(t)} for "errorFormat" provided to PrismaClient constructor.`);if(!Ss.includes(t)){let e=gt(t,Ss);throw new F(`Invalid errorFormat ${t} provided to PrismaClient constructor.${e}`)}}},log:t=>{if(!t)return;if(!Array.isArray(t))throw new F(`Invalid value ${JSON.stringify(t)} for "log" provided to PrismaClient constructor.`);function e(r){if(typeof r=="string"&&!Is.includes(r)){let n=gt(r,Is);throw new F(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of t){e(r);let n={level:e,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=gt(i,o);throw new F(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new F(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:t=>{if(!t)return;let e=t.maxWait;if(e!=null&&e<=0)throw new F(`Invalid value ${e} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=t.timeout;if(r!=null&&r<=0)throw new F(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(t,e)=>{if(typeof t!="object")throw new F('"omit" option is expected to be an object.');if(t===null)throw new F('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(t)){let o=ju(n,e.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let f=o.fields.find(v=>v.name===s);if(!f){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(f.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new F(Qu(t,r))},__internal:t=>{if(!t)return;let e=["debug","engine","configOverride"];if(typeof t!="object")throw new F(`Invalid value ${JSON.stringify(t)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(t))if(!e.includes(r)){let n=gt(r,e);throw new F(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function ks(t,e){for(let[r,n]of Object.entries(t)){if(!Cs.includes(r)){let i=gt(r,Cs);throw new F(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}Bu[r](n,e)}if(t.datasourceUrl&&t.datasources)throw new F('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function gt(t,e){if(e.length===0||typeof t!="string")return"";let r=$u(t,e);return r?` Did you mean "${r}"?`:""}function $u(t,e){if(e.length===0)return null;let r=e.map(i=>({value:i,distance:(0,Os.default)(t,i)}));r.sort((i,o)=>i.distanceCe(n)===e);if(r)return t[r]}function Qu(t,e){let r=tt(t);for(let o of e)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Sr(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}u();c();p();m();d();l();function _s(t){return t.length===0?Promise.resolve([]):new Promise((e,r)=>{let n=new Array(t.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===t.length&&(o=!0,i?r(i):e(n)))},f=v=>{o||(o=!0,r(v))};for(let v=0;v{n[v]=R,a()},R=>{if(!jr(R)){f(R);return}R.batchRequestIdx===v?f(R):(i||(i=R),a())})})}var De=j("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Gu={requestArgsToMiddlewareArgs:t=>t,middlewareArgsToRequestArgs:t=>t},Ju=Symbol.for("prisma.client.transaction.id"),Wu={id:0,nextId(){return++this.id}};function Fs(t){class e{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Gn();constructor(n){t=n?.__internal?.configOverride?.(t)??t,Jo(t),n&&ks(n,t);let i=new Fr().on("error",()=>{});this._extensions=rt.empty(),this._previewFeatures=us(t),this._clientVersion=t.clientVersion??As,this._activeProvider=t.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=ws();let o=t.relativeEnvPaths&&{rootEnvPath:t.relativeEnvPaths.rootEnvPath&&cr.resolve(t.dirname,t.relativeEnvPaths.rootEnvPath),schemaEnvPath:t.relativeEnvPaths.schemaEnvPath&&cr.resolve(t.dirname,t.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let f=t.activeProvider==="postgresql"||t.activeProvider==="cockroachdb"?"postgres":t.activeProvider;if(s.provider!==f)throw new M(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${f}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new M("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=t.injectableEdgeEnv?.();try{let f=n??{},v=f.__internal??{},R=v.debug===!0;R&&j.enable("prisma:client");let A=cr.resolve(t.dirname,t.relativePath);Pi.existsSync(A)||(A=t.dirname),De("dirname",t.dirname),De("relativePath",t.relativePath),De("cwd",A);let I=v.engine||{};if(f.errorFormat?this._errorFormat=f.errorFormat:g.env.NODE_ENV==="production"?this._errorFormat="minimal":g.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=t.runtimeDataModel,this._engineConfig={cwd:A,dirname:t.dirname,enableDebugLogs:R,allowTriggerPanic:I.allowTriggerPanic,prismaPath:I.binaryPath??void 0,engineEndpoint:I.endpoint,generator:t.generator,showColors:this._errorFormat==="pretty",logLevel:f.log&&Ps(f.log),logQueries:f.log&&!!(typeof f.log=="string"?f.log==="query":f.log.find(C=>typeof C=="string"?C==="query":C.level==="query")),env:a?.parsed??{},flags:[],engineWasm:t.engineWasm,compilerWasm:t.compilerWasm,clientVersion:t.clientVersion,engineVersion:t.engineVersion,previewFeatures:this._previewFeatures,activeProvider:t.activeProvider,inlineSchema:t.inlineSchema,overrideDatasources:Wo(f,t.datasourceNames),inlineDatasources:t.inlineDatasources,inlineSchemaHash:t.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:f.transactionOptions?.maxWait??2e3,timeout:f.transactionOptions?.timeout??5e3,isolationLevel:f.transactionOptions?.isolationLevel},logEmitter:i,isBundled:t.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:ct,getBatchRequestPayload:ot,prismaGraphQLToJSError:st,PrismaClientUnknownRequestError:Q,PrismaClientInitializationError:M,PrismaClientKnownRequestError:X,debug:j("prisma:client:accelerateEngine"),engineVersion:Ls.version,clientVersion:t.clientVersion}},De("clientVersion",t.clientVersion),this._engine=ls(t,this._engineConfig),this._requestHandler=new Jr(this,i),f.log)for(let C of f.log){let L=typeof C=="string"?C:C.emit==="stdout"?C.level:null;L&&this.$on(L,D=>{Pt.log(`${Pt.tags[L]??""}`,D.message||D.query)})}}catch(f){throw f.clientVersion=this._clientVersion,f}return this._appliedParent=Ut(this)}get[Symbol.toStringTag](){return"PrismaClient"}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{xi()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:Qn({clientMethod:i,activeProvider:a}),callsite:Ie(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=Ms(n,i);return jn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new Y("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(jn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(t.activeProvider!=="mongodb")throw new Y(`The ${t.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:cs,callsite:Ie(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:Qn({clientMethod:i,activeProvider:a}),callsite:Ie(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...Ms(n,i));throw new Y("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new Y("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=Wu.nextId(),s=xs(n.length),a=n.map((f,v)=>{if(f?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let R=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,A={kind:"batch",id:o,index:v,isolationLevel:R,lock:s};return f.requestTransaction?.(A)??f});return _s(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),f;try{let v={kind:"itx",...a};f=await n(this._createItxClient(v)),await this._engine.transaction("commit",o,a)}catch(v){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),v}return f}_createItxClient(n){return ce(Ut(ce(Oo(this),[Z("_appliedParent",()=>this._appliedParent._createItxClient(n)),Z("_createPrismaPromise",()=>Gn(n)),Z(Ju,()=>n.id)])),[it(Fo)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Gu,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=async f=>{let{runInTransaction:v,args:R,...A}=f,I={...n,...A};R&&(I.args=i.middlewareArgsToRequestArgs(R)),n.transaction!==void 0&&v===!1&&delete I.transaction;let C=await Vo(this,I);return I.model?Lo({result:C,modelName:I.model,args:I.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):C};return this._tracingHelper.runInChildSpan(s.operation,()=>a(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:f,argsMapper:v,transaction:R,unpacker:A,otelParentCtx:I,customDataProxyFetch:C}){try{n=v?v(n):n;let L={name:"serialize"},D=this._tracingHelper.runInChildSpan(L,()=>_r({modelName:f,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return j.enabled("prisma:client")&&(De("Prisma Client call:"),De(`prisma.${i}(${xo(n)})`),De("Generated request:"),De(JSON.stringify(D,null,2)+` +`)),R?.kind==="batch"&&await R.lock,this._requestHandler.request({protocolQuery:D,modelName:f,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:R,unpacker:A,otelParentCtx:I,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:C})}catch(L){throw L.clientVersion=this._clientVersion,L}}$metrics=new nt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=ko}return e}function Ms(t,e){return Ku(t)?[new ne(t,e),hs]:[t,bs]}function Ku(t){return Array.isArray(t)&&Array.isArray(t.raw)}u();c();p();m();d();l();var Hu=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function Ns(t){return new Proxy(t,{get(e,r){if(r in e)return e[r];if(!Hu.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}u();c();p();m();d();l();l();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +//# sourceMappingURL=wasm-engine-edge.js.map diff --git a/packages/member-prisma-client/schema.prisma b/packages/member-prisma-client/schema.prisma new file mode 100644 index 0000000..6520c7d --- /dev/null +++ b/packages/member-prisma-client/schema.prisma @@ -0,0 +1,565 @@ +generator client { + provider = "prisma-client-js" + // Generate a package-scoped client to avoid monorepo conflicts + output = "./generated/client" +} + +generator externalClient { + provider = "prisma-client-js" + output = "../packages/member-prisma-client" + binaryTargets = ["native", "debian-openssl-3.0.x"] +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") + schemas = ["members"] +} + +enum MemberStatus { + UNVERIFIED + ACTIVE + INACTIVE_USER_REQUEST + INACTIVE_DUPLICATE_ACCOUNT + INACTIVE_IRREGULAR_ACCOUNT + UNKNOWN + + @@schema("members") +} + +enum FinancialStatus { + PENDING + PAID + FAILED + CANCELLED + + @@schema("members") +} + +model member { + userId BigInt @id + handle String + handleLower String @unique + email String @unique + verified Boolean? + skillScore Float? + memberRatingId BigInt? + maxRating memberMaxRating? + firstName String? + lastName String? + description String? + otherLangName String? + status MemberStatus? + newEmail String? + emailVerifyToken String? + emailVerifyTokenDate DateTime? + newEmailVerifyToken String? + newEmailVerifyTokenDate DateTime? + addresses memberAddress[] + phones memberPhone[] + + country String? + homeCountryCode String? + competitionCountryCode String? + photoURL String? + tracks String[] + loginCount Int? + lastLoginDate DateTime? + availableForGigs Boolean? + availableForGigsLastUpdateDate DateTime? + lastProfileConfirmationDate DateTime? + skillScoreDeduction Float? + namesAndHandleAppearance String? + aggregatedSkills Json? + enteredSkills Json? + + financial memberFinancial? + memberStats memberStats[] + memberStatsHistory memberStatsHistory[] + challengePoints memberChallengePoints[] + memberTraits memberTraits? + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([handleLower]) + @@index([email]) + @@index([status, handleLower]) + @@index([lastLoginDate]) + @@index([availableForGigs]) + @@index([status, availableForGigs]) + @@index([homeCountryCode], map: "idx_member_home_country_code") + @@index([competitionCountryCode], map: "idx_member_competition_country_code") + @@schema("members") +} + +model memberAddress { + id BigInt @id @default(autoincrement()) + userId BigInt + streetAddr1 String? + streetAddr2 String? + city String? + zip String? + stateCode String? + type String + + member member @relation(fields: [userId], references: [userId], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([userId]) + @@index([userId, type]) + @@index([userId, type, id(sort: Desc)], map: "idx_member_address_user_type") + @@schema("members") +} + +model memberPhone { + id String @id @default(uuid()) + userId BigInt + type String + number String + + member member @relation(fields: [userId], references: [userId], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@unique([userId, number]) + @@index([userId]) + @@schema("members") +} + +model memberMaxRating { + id BigInt @id @default(autoincrement()) + userId BigInt + rating Int + track String? + subTrack String? + ratingColor String + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + member member @relation(fields: [userId], references: [userId], onDelete: Cascade) + + @@unique([userId]) + @@index([userId]) + @@schema("members") +} + +model memberFinancial { + userId BigInt @id + amount Float + status FinancialStatus + + member member @relation(fields: [userId], references: [userId], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@schema("members") +} + +model memberStatsHistory { + id BigInt @id @default(autoincrement()) + userId BigInt + trackId String + typeId String + challengeId String + mostRecent Boolean @default(false) + oldRating Int? + newRating Int? + placement Int? + percentile Float? + oldVolatility Int? + newVolatility Int? + oldGlobalRank Int? + newGlobalRank Int? + oldCountryRank Int? + newCountryRank Int? + oldSchoolRank Int? + newSchoolRank Int? + eventDate DateTime + + member member @relation(fields: [userId], references: [userId], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([userId]) + @@index([userId, trackId, typeId]) + @@index([userId, trackId, typeId, mostRecent]) + @@index([challengeId]) + @@index([eventDate]) + @@schema("members") +} + +model memberStats { + id BigInt @id @default(autoincrement()) + userId BigInt + trackId String? + typeId String? + challenges Int? + wins Int? + mostRecentSubmission DateTime? + mostRecentEventDate DateTime? + rating Int? + avgRank Float? + avgNumSubmissions Int? + bestRank Int? + globalRank Int? + countryRank Int? + schoolRank Int? + volatility Int? + maxRating Int? + minRating Int? + topFiveFinishes Int? + topTenFinishes Int? + isPrivate Boolean @default(false) + + member member @relation(fields: [userId], references: [userId], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@unique([userId, trackId, typeId]) + @@index([userId]) + @@index([trackId]) + @@index([typeId]) + @@index([trackId, typeId, rating]) + @@index([userId, trackId, typeId]) + @@index([globalRank]) + @@index([countryRank]) + @@index([schoolRank]) + @@schema("members") +} + +model memberChallengePoints { + id BigInt @id @default(autoincrement()) + challengeId String + challengeName String + userId BigInt + placement Int + points Int + + member member @relation(fields: [userId], references: [userId], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@unique([challengeId, userId]) + @@index([userId]) + @@index([challengeId]) + @@schema("members") +} + +model memberTraits { + id BigInt @id @default(autoincrement()) + userId BigInt + + device memberTraitDevice[] + software memberTraitSoftware[] + serviceProvider memberTraitServiceProvider[] + subscriptions String[] + hobby String[] + work memberTraitWork[] + education memberTraitEducation[] + basicInfo memberTraitBasicInfo[] + language memberTraitLanguage[] + checklist memberTraitOnboardChecklist[] + personalization memberTraitPersonalization[] + community memberTraitCommunity[] + + member member @relation(fields: [userId], references: [userId]) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@unique([userId]) + @@index([userId]) + @@schema("members") +} + +enum DeviceType { + Console + Desktop + Laptop + Smartphone + Tablet + Wearable + Other + + @@schema("members") +} + +model memberTraitDevice { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + deviceType DeviceType + manufacturer String + model String + operatingSystem String + osVersion String? + osLanguage String? + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([memberTraitId]) + @@schema("members") +} + +enum SoftwareType { + DeveloperTools + Browser + Productivity + GraphAndDesign + Utilities + + @@schema("members") +} + +model memberTraitSoftware { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + softwareType SoftwareType + name String + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([memberTraitId]) + @@schema("members") +} + +enum ServiceProviderType { + InternetServiceProvider + MobileCarrier + Television + FinancialInstitution + Other + + @@schema("members") +} + +model memberTraitServiceProvider { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + type ServiceProviderType + name String + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([memberTraitId]) + @@schema("members") +} + +enum WorkIndustryType { + Banking + ConsumerGoods + Energy + Entertainment + HealthCare + Pharma + PublicSector + TechAndTechnologyService + Telecoms + TravelAndHospitality + Other + + @@schema("members") +} + +model memberTraitWork { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + industry WorkIndustryType? + otherIndustry String? + companyName String + position String + startDate DateTime? + endDate DateTime? + working Boolean? + description String? + associatedSkills String[] + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([memberTraitId]) + @@schema("members") +} + +model memberTraitEducation { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + collegeName String + degree String + endYear Int? + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([memberTraitId]) + @@schema("members") +} + +model memberTraitBasicInfo { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + userId BigInt + country String + primaryInterestInTopcoder String + tshirtSize String? + gender String? + shortBio String + birthDate DateTime? + currentLocation String? + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@unique([memberTraitId]) + @@index([memberTraitId]) + @@schema("members") +} + +model memberTraitLanguage { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + language String + spokenLevel String? + writtenLevel String? + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([memberTraitId]) + @@schema("members") +} + +// This model is used to send messages when user login. When profile not complete, it will show up. +model memberTraitOnboardChecklist { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + listItemType String // Like 'profile_completed' + date DateTime + message String + status String + skip Boolean? + metadata Json? + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([memberTraitId]) + @@schema("members") +} + +model memberTraitPersonalization { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + key String? + value Json? + private Boolean @default(false) + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([memberTraitId]) + @@index([memberTraitId, key], map: "memberTraitPersonalization_memberTraitId_key_idx") + @@schema("members") +} + +model memberTraitCommunity { + id BigInt @id @default(autoincrement()) + + memberTraitId BigInt + + communityName String + status Boolean + + memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@index([memberTraitId]) + @@schema("members") +} diff --git a/packages/member-prisma-client/wasm-edge-light-loader.mjs b/packages/member-prisma-client/wasm-edge-light-loader.mjs new file mode 100644 index 0000000..dcf01f0 --- /dev/null +++ b/packages/member-prisma-client/wasm-edge-light-loader.mjs @@ -0,0 +1,5 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +export default import('./query_engine_bg.wasm?module') \ No newline at end of file diff --git a/packages/member-prisma-client/wasm-worker-loader.mjs b/packages/member-prisma-client/wasm-worker-loader.mjs new file mode 100644 index 0000000..e60a3fa --- /dev/null +++ b/packages/member-prisma-client/wasm-worker-loader.mjs @@ -0,0 +1,5 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +export default import('./query_engine_bg.wasm') \ No newline at end of file diff --git a/packages/member-prisma-client/wasm.d.ts b/packages/member-prisma-client/wasm.d.ts new file mode 100644 index 0000000..274b8fa --- /dev/null +++ b/packages/member-prisma-client/wasm.d.ts @@ -0,0 +1 @@ +export * from "./default" \ No newline at end of file diff --git a/packages/member-prisma-client/wasm.js b/packages/member-prisma-client/wasm.js new file mode 100644 index 0000000..64fdf4c --- /dev/null +++ b/packages/member-prisma-client/wasm.js @@ -0,0 +1,579 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + PrismaClientKnownRequestError, + PrismaClientUnknownRequestError, + PrismaClientRustPanicError, + PrismaClientInitializationError, + PrismaClientValidationError, + getPrismaClient, + sqltag, + empty, + join, + raw, + skip, + Decimal, + Debug, + objectEnumValues, + makeStrictEnum, + Extensions, + warnOnce, + defineDmmfProperty, + Public, + getRuntime, + createParam, +} = require('./runtime/wasm-engine-edge.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.19.2 + * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + */ +Prisma.prismaVersion = { + client: "6.19.2", + engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" +} + +Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; +Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError +Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError +Prisma.PrismaClientInitializationError = PrismaClientInitializationError +Prisma.PrismaClientValidationError = PrismaClientValidationError +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = sqltag +Prisma.empty = empty +Prisma.join = join +Prisma.raw = raw +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = Extensions.getExtensionContext +Prisma.defineExtension = Extensions.defineExtension + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + + + +/** + * Enums + */ +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.MemberScalarFieldEnum = { + userId: 'userId', + handle: 'handle', + handleLower: 'handleLower', + email: 'email', + verified: 'verified', + skillScore: 'skillScore', + memberRatingId: 'memberRatingId', + firstName: 'firstName', + lastName: 'lastName', + description: 'description', + otherLangName: 'otherLangName', + status: 'status', + newEmail: 'newEmail', + emailVerifyToken: 'emailVerifyToken', + emailVerifyTokenDate: 'emailVerifyTokenDate', + newEmailVerifyToken: 'newEmailVerifyToken', + newEmailVerifyTokenDate: 'newEmailVerifyTokenDate', + country: 'country', + homeCountryCode: 'homeCountryCode', + competitionCountryCode: 'competitionCountryCode', + photoURL: 'photoURL', + tracks: 'tracks', + loginCount: 'loginCount', + lastLoginDate: 'lastLoginDate', + availableForGigs: 'availableForGigs', + availableForGigsLastUpdateDate: 'availableForGigsLastUpdateDate', + lastProfileConfirmationDate: 'lastProfileConfirmationDate', + skillScoreDeduction: 'skillScoreDeduction', + namesAndHandleAppearance: 'namesAndHandleAppearance', + aggregatedSkills: 'aggregatedSkills', + enteredSkills: 'enteredSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberAddressScalarFieldEnum = { + id: 'id', + userId: 'userId', + streetAddr1: 'streetAddr1', + streetAddr2: 'streetAddr2', + city: 'city', + zip: 'zip', + stateCode: 'stateCode', + type: 'type', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberPhoneScalarFieldEnum = { + id: 'id', + userId: 'userId', + type: 'type', + number: 'number', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberMaxRatingScalarFieldEnum = { + id: 'id', + userId: 'userId', + rating: 'rating', + track: 'track', + subTrack: 'subTrack', + ratingColor: 'ratingColor', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberFinancialScalarFieldEnum = { + userId: 'userId', + amount: 'amount', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberStatsHistoryScalarFieldEnum = { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challengeId: 'challengeId', + mostRecent: 'mostRecent', + oldRating: 'oldRating', + newRating: 'newRating', + placement: 'placement', + percentile: 'percentile', + oldVolatility: 'oldVolatility', + newVolatility: 'newVolatility', + oldGlobalRank: 'oldGlobalRank', + newGlobalRank: 'newGlobalRank', + oldCountryRank: 'oldCountryRank', + newCountryRank: 'newCountryRank', + oldSchoolRank: 'oldSchoolRank', + newSchoolRank: 'newSchoolRank', + eventDate: 'eventDate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberStatsScalarFieldEnum = { + id: 'id', + userId: 'userId', + trackId: 'trackId', + typeId: 'typeId', + challenges: 'challenges', + wins: 'wins', + mostRecentSubmission: 'mostRecentSubmission', + mostRecentEventDate: 'mostRecentEventDate', + rating: 'rating', + avgRank: 'avgRank', + avgNumSubmissions: 'avgNumSubmissions', + bestRank: 'bestRank', + globalRank: 'globalRank', + countryRank: 'countryRank', + schoolRank: 'schoolRank', + volatility: 'volatility', + maxRating: 'maxRating', + minRating: 'minRating', + topFiveFinishes: 'topFiveFinishes', + topTenFinishes: 'topTenFinishes', + isPrivate: 'isPrivate', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberChallengePointsScalarFieldEnum = { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitsScalarFieldEnum = { + id: 'id', + userId: 'userId', + subscriptions: 'subscriptions', + hobby: 'hobby', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitDeviceScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + deviceType: 'deviceType', + manufacturer: 'manufacturer', + model: 'model', + operatingSystem: 'operatingSystem', + osVersion: 'osVersion', + osLanguage: 'osLanguage', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitSoftwareScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + softwareType: 'softwareType', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitServiceProviderScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + type: 'type', + name: 'name', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitWorkScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + industry: 'industry', + otherIndustry: 'otherIndustry', + companyName: 'companyName', + position: 'position', + startDate: 'startDate', + endDate: 'endDate', + working: 'working', + description: 'description', + associatedSkills: 'associatedSkills', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitEducationScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + collegeName: 'collegeName', + degree: 'degree', + endYear: 'endYear', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitBasicInfoScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + userId: 'userId', + country: 'country', + primaryInterestInTopcoder: 'primaryInterestInTopcoder', + tshirtSize: 'tshirtSize', + gender: 'gender', + shortBio: 'shortBio', + birthDate: 'birthDate', + currentLocation: 'currentLocation', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitLanguageScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + language: 'language', + spokenLevel: 'spokenLevel', + writtenLevel: 'writtenLevel', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitOnboardChecklistScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + listItemType: 'listItemType', + date: 'date', + message: 'message', + status: 'status', + skip: 'skip', + metadata: 'metadata', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitPersonalizationScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + key: 'key', + value: 'value', + private: 'private', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.MemberTraitCommunityScalarFieldEnum = { + id: 'id', + memberTraitId: 'memberTraitId', + communityName: 'communityName', + status: 'status', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.NullableJsonNullValueInput = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.JsonNullValueFilter = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull, + AnyNull: Prisma.AnyNull +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; +exports.MemberStatus = exports.$Enums.MemberStatus = { + UNVERIFIED: 'UNVERIFIED', + ACTIVE: 'ACTIVE', + INACTIVE_USER_REQUEST: 'INACTIVE_USER_REQUEST', + INACTIVE_DUPLICATE_ACCOUNT: 'INACTIVE_DUPLICATE_ACCOUNT', + INACTIVE_IRREGULAR_ACCOUNT: 'INACTIVE_IRREGULAR_ACCOUNT', + UNKNOWN: 'UNKNOWN' +}; + +exports.FinancialStatus = exports.$Enums.FinancialStatus = { + PENDING: 'PENDING', + PAID: 'PAID', + FAILED: 'FAILED', + CANCELLED: 'CANCELLED' +}; + +exports.DeviceType = exports.$Enums.DeviceType = { + Console: 'Console', + Desktop: 'Desktop', + Laptop: 'Laptop', + Smartphone: 'Smartphone', + Tablet: 'Tablet', + Wearable: 'Wearable', + Other: 'Other' +}; + +exports.SoftwareType = exports.$Enums.SoftwareType = { + DeveloperTools: 'DeveloperTools', + Browser: 'Browser', + Productivity: 'Productivity', + GraphAndDesign: 'GraphAndDesign', + Utilities: 'Utilities' +}; + +exports.ServiceProviderType = exports.$Enums.ServiceProviderType = { + InternetServiceProvider: 'InternetServiceProvider', + MobileCarrier: 'MobileCarrier', + Television: 'Television', + FinancialInstitution: 'FinancialInstitution', + Other: 'Other' +}; + +exports.WorkIndustryType = exports.$Enums.WorkIndustryType = { + Banking: 'Banking', + ConsumerGoods: 'ConsumerGoods', + Energy: 'Energy', + Entertainment: 'Entertainment', + HealthCare: 'HealthCare', + Pharma: 'Pharma', + PublicSector: 'PublicSector', + TechAndTechnologyService: 'TechAndTechnologyService', + Telecoms: 'Telecoms', + TravelAndHospitality: 'TravelAndHospitality', + Other: 'Other' +}; + +exports.Prisma.ModelName = { + member: 'member', + memberAddress: 'memberAddress', + memberPhone: 'memberPhone', + memberMaxRating: 'memberMaxRating', + memberFinancial: 'memberFinancial', + memberStatsHistory: 'memberStatsHistory', + memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', + memberTraits: 'memberTraits', + memberTraitDevice: 'memberTraitDevice', + memberTraitSoftware: 'memberTraitSoftware', + memberTraitServiceProvider: 'memberTraitServiceProvider', + memberTraitWork: 'memberTraitWork', + memberTraitEducation: 'memberTraitEducation', + memberTraitBasicInfo: 'memberTraitBasicInfo', + memberTraitLanguage: 'memberTraitLanguage', + memberTraitOnboardChecklist: 'memberTraitOnboardChecklist', + memberTraitPersonalization: 'memberTraitPersonalization', + memberTraitCommunity: 'memberTraitCommunity' +}; +/** + * Create the Client + */ +const config = { + "generator": { + "name": "externalClient", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "/home/jmgasper/Documents/Git/v6/member-api-v6/packages/member-prisma-client", + "fromEnvVar": null + }, + "config": { + "engineType": "library" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "debian-openssl-3.0.x", + "native": true + }, + { + "fromEnvVar": null, + "value": "debian-openssl-3.0.x" + } + ], + "previewFeatures": [], + "sourceFilePath": "/home/jmgasper/Documents/Git/v6/member-api-v6/prisma/schema.prisma", + "isCustomOutput": true + }, + "relativeEnvPaths": { + "rootEnvPath": null + }, + "relativePath": "../../prisma", + "clientVersion": "6.19.2", + "engineVersion": "c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "postinstall": false, + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n // Generate a package-scoped client to avoid monorepo conflicts\n output = \"./generated/client\"\n}\n\ngenerator externalClient {\n provider = \"prisma-client-js\"\n output = \"../packages/member-prisma-client\"\n binaryTargets = [\"native\", \"debian-openssl-3.0.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n schemas = [\"members\"]\n}\n\nenum MemberStatus {\n UNVERIFIED\n ACTIVE\n INACTIVE_USER_REQUEST\n INACTIVE_DUPLICATE_ACCOUNT\n INACTIVE_IRREGULAR_ACCOUNT\n UNKNOWN\n\n @@schema(\"members\")\n}\n\nenum FinancialStatus {\n PENDING\n PAID\n FAILED\n CANCELLED\n\n @@schema(\"members\")\n}\n\nmodel member {\n userId BigInt @id\n handle String\n handleLower String @unique\n email String @unique\n verified Boolean?\n skillScore Float?\n memberRatingId BigInt?\n maxRating memberMaxRating?\n firstName String?\n lastName String?\n description String?\n otherLangName String?\n status MemberStatus?\n newEmail String?\n emailVerifyToken String?\n emailVerifyTokenDate DateTime?\n newEmailVerifyToken String?\n newEmailVerifyTokenDate DateTime?\n addresses memberAddress[]\n phones memberPhone[]\n\n country String?\n homeCountryCode String?\n competitionCountryCode String?\n photoURL String?\n tracks String[]\n loginCount Int?\n lastLoginDate DateTime?\n availableForGigs Boolean?\n availableForGigsLastUpdateDate DateTime?\n lastProfileConfirmationDate DateTime?\n skillScoreDeduction Float?\n namesAndHandleAppearance String?\n aggregatedSkills Json?\n enteredSkills Json?\n\n financial memberFinancial?\n memberStats memberStats[]\n memberStatsHistory memberStatsHistory[]\n challengePoints memberChallengePoints[]\n memberTraits memberTraits?\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([handleLower])\n @@index([email])\n @@index([status, handleLower])\n @@index([lastLoginDate])\n @@index([availableForGigs])\n @@index([status, availableForGigs])\n @@index([homeCountryCode], map: \"idx_member_home_country_code\")\n @@index([competitionCountryCode], map: \"idx_member_competition_country_code\")\n @@schema(\"members\")\n}\n\nmodel memberAddress {\n id BigInt @id @default(autoincrement())\n userId BigInt\n streetAddr1 String?\n streetAddr2 String?\n city String?\n zip String?\n stateCode String?\n type String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, type])\n @@index([userId, type, id(sort: Desc)], map: \"idx_member_address_user_type\")\n @@schema(\"members\")\n}\n\nmodel memberPhone {\n id String @id @default(uuid())\n userId BigInt\n type String\n number String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, number])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberMaxRating {\n id BigInt @id @default(autoincrement())\n userId BigInt\n rating Int\n track String?\n subTrack String?\n ratingColor String\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberFinancial {\n userId BigInt @id\n amount Float\n status FinancialStatus\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@schema(\"members\")\n}\n\nmodel memberStatsHistory {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String\n typeId String\n challengeId String\n mostRecent Boolean @default(false)\n oldRating Int?\n newRating Int?\n placement Int?\n percentile Float?\n oldVolatility Int?\n newVolatility Int?\n oldGlobalRank Int?\n newGlobalRank Int?\n oldCountryRank Int?\n newCountryRank Int?\n oldSchoolRank Int?\n newSchoolRank Int?\n eventDate DateTime\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, trackId, typeId])\n @@index([userId, trackId, typeId, mostRecent])\n @@index([challengeId])\n @@index([eventDate])\n @@schema(\"members\")\n}\n\nmodel memberStats {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String?\n typeId String?\n challenges Int?\n wins Int?\n mostRecentSubmission DateTime?\n mostRecentEventDate DateTime?\n rating Int?\n avgRank Float?\n avgNumSubmissions Int?\n bestRank Int?\n globalRank Int?\n countryRank Int?\n schoolRank Int?\n volatility Int?\n maxRating Int?\n minRating Int?\n topFiveFinishes Int?\n topTenFinishes Int?\n isPrivate Boolean @default(false)\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, trackId, typeId])\n @@index([userId])\n @@index([trackId])\n @@index([typeId])\n @@index([trackId, typeId, rating])\n @@index([userId, trackId, typeId])\n @@index([globalRank])\n @@index([countryRank])\n @@index([schoolRank])\n @@schema(\"members\")\n}\n\nmodel memberChallengePoints {\n id BigInt @id @default(autoincrement())\n challengeId String\n challengeName String\n userId BigInt\n placement Int\n points Int\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([challengeId, userId])\n @@index([userId])\n @@index([challengeId])\n @@schema(\"members\")\n}\n\nmodel memberTraits {\n id BigInt @id @default(autoincrement())\n userId BigInt\n\n device memberTraitDevice[]\n software memberTraitSoftware[]\n serviceProvider memberTraitServiceProvider[]\n subscriptions String[]\n hobby String[]\n work memberTraitWork[]\n education memberTraitEducation[]\n basicInfo memberTraitBasicInfo[]\n language memberTraitLanguage[]\n checklist memberTraitOnboardChecklist[]\n personalization memberTraitPersonalization[]\n community memberTraitCommunity[]\n\n member member @relation(fields: [userId], references: [userId])\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nenum DeviceType {\n Console\n Desktop\n Laptop\n Smartphone\n Tablet\n Wearable\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitDevice {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n deviceType DeviceType\n manufacturer String\n model String\n operatingSystem String\n osVersion String?\n osLanguage String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum SoftwareType {\n DeveloperTools\n Browser\n Productivity\n GraphAndDesign\n Utilities\n\n @@schema(\"members\")\n}\n\nmodel memberTraitSoftware {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n softwareType SoftwareType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum ServiceProviderType {\n InternetServiceProvider\n MobileCarrier\n Television\n FinancialInstitution\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitServiceProvider {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n type ServiceProviderType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum WorkIndustryType {\n Banking\n ConsumerGoods\n Energy\n Entertainment\n HealthCare\n Pharma\n PublicSector\n TechAndTechnologyService\n Telecoms\n TravelAndHospitality\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitWork {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n industry WorkIndustryType?\n otherIndustry String?\n companyName String\n position String\n startDate DateTime?\n endDate DateTime?\n working Boolean?\n description String?\n associatedSkills String[]\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitEducation {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n collegeName String\n degree String\n endYear Int?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitBasicInfo {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n userId BigInt\n country String\n primaryInterestInTopcoder String\n tshirtSize String?\n gender String?\n shortBio String\n birthDate DateTime?\n currentLocation String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([memberTraitId])\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitLanguage {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n language String\n spokenLevel String?\n writtenLevel String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\n// This model is used to send messages when user login. When profile not complete, it will show up.\nmodel memberTraitOnboardChecklist {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n listItemType String // Like 'profile_completed'\n date DateTime\n message String\n status String\n skip Boolean?\n metadata Json?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitPersonalization {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n key String?\n value Json?\n private Boolean @default(false)\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@index([memberTraitId, key], map: \"memberTraitPersonalization_memberTraitId_key_idx\")\n @@schema(\"members\")\n}\n\nmodel memberTraitCommunity {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n communityName String\n status Boolean\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n", + "inlineSchemaHash": "72fac5e8a2fbcbc76562b3d93f6fe69b84080bdea52b075498a06a85d0e8524b", + "copyEngine": true +} +config.dirname = '/' + +config.runtimeDataModel = JSON.parse("{\"models\":{\"member\":{\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"handle\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"handleLower\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"verified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"memberRatingId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"maxRating\",\"kind\":\"object\",\"type\":\"memberMaxRating\",\"relationName\":\"memberTomemberMaxRating\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"otherLangName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"MemberStatus\"},{\"name\":\"newEmail\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerifyToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerifyTokenDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"newEmailVerifyToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"newEmailVerifyTokenDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"addresses\",\"kind\":\"object\",\"type\":\"memberAddress\",\"relationName\":\"memberTomemberAddress\"},{\"name\":\"phones\",\"kind\":\"object\",\"type\":\"memberPhone\",\"relationName\":\"memberTomemberPhone\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"homeCountryCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"competitionCountryCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"photoURL\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tracks\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"loginCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"lastLoginDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"availableForGigs\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"availableForGigsLastUpdateDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastProfileConfirmationDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"skillScoreDeduction\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"namesAndHandleAppearance\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aggregatedSkills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"enteredSkills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"financial\",\"kind\":\"object\",\"type\":\"memberFinancial\",\"relationName\":\"memberTomemberFinancial\"},{\"name\":\"memberStats\",\"kind\":\"object\",\"type\":\"memberStats\",\"relationName\":\"memberTomemberStats\"},{\"name\":\"memberStatsHistory\",\"kind\":\"object\",\"type\":\"memberStatsHistory\",\"relationName\":\"memberTomemberStatsHistory\"},{\"name\":\"challengePoints\",\"kind\":\"object\",\"type\":\"memberChallengePoints\",\"relationName\":\"memberTomemberChallengePoints\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberAddress\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"streetAddr1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"streetAddr2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stateCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberAddress\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberPhone\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberPhone\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberMaxRating\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"track\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subTrack\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ratingColor\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberMaxRating\"}],\"dbName\":null},\"memberFinancial\":{\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"FinancialStatus\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberFinancial\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberStatsHistory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"trackId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"typeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mostRecent\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"oldRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"placement\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"percentile\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"oldVolatility\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newVolatility\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"oldGlobalRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newGlobalRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"oldCountryRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newCountryRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"oldSchoolRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newSchoolRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"eventDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberStatsHistory\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberStats\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"trackId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"typeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"challenges\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"wins\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"mostRecentSubmission\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"mostRecentEventDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"avgRank\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avgNumSubmissions\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"bestRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"globalRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"countryRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"schoolRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"volatility\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"maxRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"minRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"topFiveFinishes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"topTenFinishes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberStats\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberChallengePoints\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"challengeName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"placement\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"points\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberChallengePoints\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraits\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"memberTraitDevice\",\"relationName\":\"memberTraitDeviceTomemberTraits\"},{\"name\":\"software\",\"kind\":\"object\",\"type\":\"memberTraitSoftware\",\"relationName\":\"memberTraitSoftwareTomemberTraits\"},{\"name\":\"serviceProvider\",\"kind\":\"object\",\"type\":\"memberTraitServiceProvider\",\"relationName\":\"memberTraitServiceProviderTomemberTraits\"},{\"name\":\"subscriptions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hobby\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work\",\"kind\":\"object\",\"type\":\"memberTraitWork\",\"relationName\":\"memberTraitWorkTomemberTraits\"},{\"name\":\"education\",\"kind\":\"object\",\"type\":\"memberTraitEducation\",\"relationName\":\"memberTraitEducationTomemberTraits\"},{\"name\":\"basicInfo\",\"kind\":\"object\",\"type\":\"memberTraitBasicInfo\",\"relationName\":\"memberTraitBasicInfoTomemberTraits\"},{\"name\":\"language\",\"kind\":\"object\",\"type\":\"memberTraitLanguage\",\"relationName\":\"memberTraitLanguageTomemberTraits\"},{\"name\":\"checklist\",\"kind\":\"object\",\"type\":\"memberTraitOnboardChecklist\",\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\"},{\"name\":\"personalization\",\"kind\":\"object\",\"type\":\"memberTraitPersonalization\",\"relationName\":\"memberTraitPersonalizationTomemberTraits\"},{\"name\":\"community\",\"kind\":\"object\",\"type\":\"memberTraitCommunity\",\"relationName\":\"memberTraitCommunityTomemberTraits\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitDevice\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"deviceType\",\"kind\":\"enum\",\"type\":\"DeviceType\"},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"operatingSystem\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"osVersion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"osLanguage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitDeviceTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitSoftware\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"softwareType\",\"kind\":\"enum\",\"type\":\"SoftwareType\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitSoftwareTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitServiceProvider\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"ServiceProviderType\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitServiceProviderTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitWork\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"industry\",\"kind\":\"enum\",\"type\":\"WorkIndustryType\"},{\"name\":\"otherIndustry\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"companyName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"position\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"working\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"associatedSkills\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitWorkTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitEducation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"collegeName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"degree\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"endYear\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitEducationTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitBasicInfo\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"primaryInterestInTopcoder\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tshirtSize\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shortBio\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"currentLocation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitBasicInfoTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitLanguage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"language\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"spokenLevel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"writtenLevel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitLanguageTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitOnboardChecklist\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"listItemType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skip\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitPersonalization\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"private\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitPersonalizationTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitCommunity\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"communityName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitCommunityTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +defineDmmfProperty(exports.Prisma, config.runtimeDataModel) +config.engineWasm = { + getRuntime: async () => require('./query_engine_bg.js'), + getQueryEngineWasmModule: async () => { + const loader = (await import('#wasm-engine-loader')).default + const engine = (await loader).default + return engine + } +} +config.compilerWasm = undefined + +config.injectableEdgeEnv = () => ({ + parsed: { + DATABASE_URL: typeof globalThis !== 'undefined' && globalThis['DATABASE_URL'] || typeof process !== 'undefined' && process.env && process.env.DATABASE_URL || undefined + } +}) + +if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) { + Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) +} + +const PrismaClient = getPrismaClient(config) +exports.PrismaClient = PrismaClient +Object.assign(exports, Prisma) + diff --git a/prisma/generated/client/edge.js b/prisma/generated/client/edge.js index ea815a2..fb23785 100644 --- a/prisma/generated/client/edge.js +++ b/prisma/generated/client/edge.js @@ -234,6 +234,19 @@ exports.Prisma.MemberStatsScalarFieldEnum = { updatedBy: 'updatedBy' }; +exports.Prisma.MemberChallengePointsScalarFieldEnum = { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + exports.Prisma.MemberTraitsScalarFieldEnum = { id: 'id', userId: 'userId', @@ -468,6 +481,7 @@ exports.Prisma.ModelName = { memberFinancial: 'memberFinancial', memberStatsHistory: 'memberStatsHistory', memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', memberTraits: 'memberTraits', memberTraitDevice: 'memberTraitDevice', memberTraitSoftware: 'memberTraitSoftware', @@ -527,13 +541,13 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n // Generate a package-scoped client to avoid monorepo conflicts\n output = \"./generated/client\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n schemas = [\"members\"]\n}\n\nenum MemberStatus {\n UNVERIFIED\n ACTIVE\n INACTIVE_USER_REQUEST\n INACTIVE_DUPLICATE_ACCOUNT\n INACTIVE_IRREGULAR_ACCOUNT\n UNKNOWN\n\n @@schema(\"members\")\n}\n\nenum FinancialStatus {\n PENDING\n PAID\n FAILED\n CANCELLED\n\n @@schema(\"members\")\n}\n\nmodel member {\n userId BigInt @id\n handle String\n handleLower String @unique\n email String @unique\n verified Boolean?\n skillScore Float?\n memberRatingId BigInt?\n maxRating memberMaxRating?\n firstName String?\n lastName String?\n description String?\n otherLangName String?\n status MemberStatus?\n newEmail String?\n emailVerifyToken String?\n emailVerifyTokenDate DateTime?\n newEmailVerifyToken String?\n newEmailVerifyTokenDate DateTime?\n addresses memberAddress[]\n phones memberPhone[]\n\n country String?\n homeCountryCode String?\n competitionCountryCode String?\n photoURL String?\n tracks String[]\n loginCount Int?\n lastLoginDate DateTime?\n availableForGigs Boolean?\n availableForGigsLastUpdateDate DateTime?\n lastProfileConfirmationDate DateTime?\n skillScoreDeduction Float?\n namesAndHandleAppearance String?\n aggregatedSkills Json?\n enteredSkills Json?\n\n financial memberFinancial?\n memberStats memberStats[]\n memberStatsHistory memberStatsHistory[]\n memberTraits memberTraits?\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([handleLower])\n @@index([email])\n @@index([status, handleLower])\n @@index([lastLoginDate])\n @@index([availableForGigs])\n @@index([status, availableForGigs])\n @@index([homeCountryCode], map: \"idx_member_home_country_code\")\n @@index([competitionCountryCode], map: \"idx_member_competition_country_code\")\n @@schema(\"members\")\n}\n\nmodel memberAddress {\n id BigInt @id @default(autoincrement())\n userId BigInt\n streetAddr1 String?\n streetAddr2 String?\n city String?\n zip String?\n stateCode String?\n type String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, type])\n @@index([userId, type, id(sort: Desc)], map: \"idx_member_address_user_type\")\n @@schema(\"members\")\n}\n\nmodel memberPhone {\n id String @id @default(uuid())\n userId BigInt\n type String\n number String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, number])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberMaxRating {\n id BigInt @id @default(autoincrement())\n userId BigInt\n rating Int\n track String?\n subTrack String?\n ratingColor String\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberFinancial {\n userId BigInt @id\n amount Float\n status FinancialStatus\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@schema(\"members\")\n}\n\nmodel memberStatsHistory {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String\n typeId String\n challengeId String\n mostRecent Boolean @default(false)\n oldRating Int?\n newRating Int?\n placement Int?\n percentile Float?\n oldVolatility Int?\n newVolatility Int?\n oldGlobalRank Int?\n newGlobalRank Int?\n oldCountryRank Int?\n newCountryRank Int?\n oldSchoolRank Int?\n newSchoolRank Int?\n eventDate DateTime\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, trackId, typeId])\n @@index([userId, trackId, typeId, mostRecent])\n @@index([challengeId])\n @@index([eventDate])\n @@schema(\"members\")\n}\n\nmodel memberStats {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String?\n typeId String?\n challenges Int?\n wins Int?\n mostRecentSubmission DateTime?\n mostRecentEventDate DateTime?\n rating Int?\n avgRank Float?\n avgNumSubmissions Int?\n bestRank Int?\n globalRank Int?\n countryRank Int?\n schoolRank Int?\n volatility Int?\n maxRating Int?\n minRating Int?\n topFiveFinishes Int?\n topTenFinishes Int?\n isPrivate Boolean @default(false)\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, trackId, typeId])\n @@index([userId])\n @@index([trackId])\n @@index([typeId])\n @@index([trackId, typeId, rating])\n @@index([userId, trackId, typeId])\n @@index([globalRank])\n @@index([countryRank])\n @@index([schoolRank])\n @@schema(\"members\")\n}\n\nmodel memberTraits {\n id BigInt @id @default(autoincrement())\n userId BigInt\n\n device memberTraitDevice[]\n software memberTraitSoftware[]\n serviceProvider memberTraitServiceProvider[]\n subscriptions String[]\n hobby String[]\n work memberTraitWork[]\n education memberTraitEducation[]\n basicInfo memberTraitBasicInfo[]\n language memberTraitLanguage[]\n checklist memberTraitOnboardChecklist[]\n personalization memberTraitPersonalization[]\n community memberTraitCommunity[]\n\n member member @relation(fields: [userId], references: [userId])\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nenum DeviceType {\n Console\n Desktop\n Laptop\n Smartphone\n Tablet\n Wearable\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitDevice {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n deviceType DeviceType\n manufacturer String\n model String\n operatingSystem String\n osVersion String?\n osLanguage String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum SoftwareType {\n DeveloperTools\n Browser\n Productivity\n GraphAndDesign\n Utilities\n\n @@schema(\"members\")\n}\n\nmodel memberTraitSoftware {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n softwareType SoftwareType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum ServiceProviderType {\n InternetServiceProvider\n MobileCarrier\n Television\n FinancialInstitution\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitServiceProvider {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n type ServiceProviderType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum WorkIndustryType {\n Banking\n ConsumerGoods\n Energy\n Entertainment\n HealthCare\n Pharma\n PublicSector\n TechAndTechnologyService\n Telecoms\n TravelAndHospitality\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitWork {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n industry WorkIndustryType?\n otherIndustry String?\n companyName String\n position String\n startDate DateTime?\n endDate DateTime?\n working Boolean?\n description String?\n associatedSkills String[]\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitEducation {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n collegeName String\n degree String\n endYear Int?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitBasicInfo {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n userId BigInt\n country String\n primaryInterestInTopcoder String\n tshirtSize String?\n gender String?\n shortBio String\n birthDate DateTime?\n currentLocation String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([memberTraitId])\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitLanguage {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n language String\n spokenLevel String?\n writtenLevel String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\n// This model is used to send messages when user login. When profile not complete, it will show up.\nmodel memberTraitOnboardChecklist {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n listItemType String // Like 'profile_completed'\n date DateTime\n message String\n status String\n skip Boolean?\n metadata Json?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitPersonalization {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n key String?\n value Json?\n private Boolean @default(false)\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@index([memberTraitId, key], map: \"memberTraitPersonalization_memberTraitId_key_idx\")\n @@schema(\"members\")\n}\n\nmodel memberTraitCommunity {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n communityName String\n status Boolean\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n", - "inlineSchemaHash": "985c78a8a3a56916b214a673823f1ae15804d0ba22c84f4692c28668dbc99388", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n // Generate a package-scoped client to avoid monorepo conflicts\n output = \"./generated/client\"\n}\n\ngenerator externalClient {\n provider = \"prisma-client-js\"\n output = \"../packages/member-prisma-client\"\n binaryTargets = [\"native\", \"debian-openssl-3.0.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n schemas = [\"members\"]\n}\n\nenum MemberStatus {\n UNVERIFIED\n ACTIVE\n INACTIVE_USER_REQUEST\n INACTIVE_DUPLICATE_ACCOUNT\n INACTIVE_IRREGULAR_ACCOUNT\n UNKNOWN\n\n @@schema(\"members\")\n}\n\nenum FinancialStatus {\n PENDING\n PAID\n FAILED\n CANCELLED\n\n @@schema(\"members\")\n}\n\nmodel member {\n userId BigInt @id\n handle String\n handleLower String @unique\n email String @unique\n verified Boolean?\n skillScore Float?\n memberRatingId BigInt?\n maxRating memberMaxRating?\n firstName String?\n lastName String?\n description String?\n otherLangName String?\n status MemberStatus?\n newEmail String?\n emailVerifyToken String?\n emailVerifyTokenDate DateTime?\n newEmailVerifyToken String?\n newEmailVerifyTokenDate DateTime?\n addresses memberAddress[]\n phones memberPhone[]\n\n country String?\n homeCountryCode String?\n competitionCountryCode String?\n photoURL String?\n tracks String[]\n loginCount Int?\n lastLoginDate DateTime?\n availableForGigs Boolean?\n availableForGigsLastUpdateDate DateTime?\n lastProfileConfirmationDate DateTime?\n skillScoreDeduction Float?\n namesAndHandleAppearance String?\n aggregatedSkills Json?\n enteredSkills Json?\n\n financial memberFinancial?\n memberStats memberStats[]\n memberStatsHistory memberStatsHistory[]\n challengePoints memberChallengePoints[]\n memberTraits memberTraits?\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([handleLower])\n @@index([email])\n @@index([status, handleLower])\n @@index([lastLoginDate])\n @@index([availableForGigs])\n @@index([status, availableForGigs])\n @@index([homeCountryCode], map: \"idx_member_home_country_code\")\n @@index([competitionCountryCode], map: \"idx_member_competition_country_code\")\n @@schema(\"members\")\n}\n\nmodel memberAddress {\n id BigInt @id @default(autoincrement())\n userId BigInt\n streetAddr1 String?\n streetAddr2 String?\n city String?\n zip String?\n stateCode String?\n type String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, type])\n @@index([userId, type, id(sort: Desc)], map: \"idx_member_address_user_type\")\n @@schema(\"members\")\n}\n\nmodel memberPhone {\n id String @id @default(uuid())\n userId BigInt\n type String\n number String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, number])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberMaxRating {\n id BigInt @id @default(autoincrement())\n userId BigInt\n rating Int\n track String?\n subTrack String?\n ratingColor String\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberFinancial {\n userId BigInt @id\n amount Float\n status FinancialStatus\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@schema(\"members\")\n}\n\nmodel memberStatsHistory {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String\n typeId String\n challengeId String\n mostRecent Boolean @default(false)\n oldRating Int?\n newRating Int?\n placement Int?\n percentile Float?\n oldVolatility Int?\n newVolatility Int?\n oldGlobalRank Int?\n newGlobalRank Int?\n oldCountryRank Int?\n newCountryRank Int?\n oldSchoolRank Int?\n newSchoolRank Int?\n eventDate DateTime\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, trackId, typeId])\n @@index([userId, trackId, typeId, mostRecent])\n @@index([challengeId])\n @@index([eventDate])\n @@schema(\"members\")\n}\n\nmodel memberStats {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String?\n typeId String?\n challenges Int?\n wins Int?\n mostRecentSubmission DateTime?\n mostRecentEventDate DateTime?\n rating Int?\n avgRank Float?\n avgNumSubmissions Int?\n bestRank Int?\n globalRank Int?\n countryRank Int?\n schoolRank Int?\n volatility Int?\n maxRating Int?\n minRating Int?\n topFiveFinishes Int?\n topTenFinishes Int?\n isPrivate Boolean @default(false)\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, trackId, typeId])\n @@index([userId])\n @@index([trackId])\n @@index([typeId])\n @@index([trackId, typeId, rating])\n @@index([userId, trackId, typeId])\n @@index([globalRank])\n @@index([countryRank])\n @@index([schoolRank])\n @@schema(\"members\")\n}\n\nmodel memberChallengePoints {\n id BigInt @id @default(autoincrement())\n challengeId String\n challengeName String\n userId BigInt\n placement Int\n points Int\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([challengeId, userId])\n @@index([userId])\n @@index([challengeId])\n @@schema(\"members\")\n}\n\nmodel memberTraits {\n id BigInt @id @default(autoincrement())\n userId BigInt\n\n device memberTraitDevice[]\n software memberTraitSoftware[]\n serviceProvider memberTraitServiceProvider[]\n subscriptions String[]\n hobby String[]\n work memberTraitWork[]\n education memberTraitEducation[]\n basicInfo memberTraitBasicInfo[]\n language memberTraitLanguage[]\n checklist memberTraitOnboardChecklist[]\n personalization memberTraitPersonalization[]\n community memberTraitCommunity[]\n\n member member @relation(fields: [userId], references: [userId])\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nenum DeviceType {\n Console\n Desktop\n Laptop\n Smartphone\n Tablet\n Wearable\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitDevice {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n deviceType DeviceType\n manufacturer String\n model String\n operatingSystem String\n osVersion String?\n osLanguage String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum SoftwareType {\n DeveloperTools\n Browser\n Productivity\n GraphAndDesign\n Utilities\n\n @@schema(\"members\")\n}\n\nmodel memberTraitSoftware {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n softwareType SoftwareType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum ServiceProviderType {\n InternetServiceProvider\n MobileCarrier\n Television\n FinancialInstitution\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitServiceProvider {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n type ServiceProviderType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum WorkIndustryType {\n Banking\n ConsumerGoods\n Energy\n Entertainment\n HealthCare\n Pharma\n PublicSector\n TechAndTechnologyService\n Telecoms\n TravelAndHospitality\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitWork {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n industry WorkIndustryType?\n otherIndustry String?\n companyName String\n position String\n startDate DateTime?\n endDate DateTime?\n working Boolean?\n description String?\n associatedSkills String[]\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitEducation {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n collegeName String\n degree String\n endYear Int?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitBasicInfo {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n userId BigInt\n country String\n primaryInterestInTopcoder String\n tshirtSize String?\n gender String?\n shortBio String\n birthDate DateTime?\n currentLocation String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([memberTraitId])\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitLanguage {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n language String\n spokenLevel String?\n writtenLevel String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\n// This model is used to send messages when user login. When profile not complete, it will show up.\nmodel memberTraitOnboardChecklist {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n listItemType String // Like 'profile_completed'\n date DateTime\n message String\n status String\n skip Boolean?\n metadata Json?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitPersonalization {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n key String?\n value Json?\n private Boolean @default(false)\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@index([memberTraitId, key], map: \"memberTraitPersonalization_memberTraitId_key_idx\")\n @@schema(\"members\")\n}\n\nmodel memberTraitCommunity {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n communityName String\n status Boolean\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n", + "inlineSchemaHash": "72fac5e8a2fbcbc76562b3d93f6fe69b84080bdea52b075498a06a85d0e8524b", "copyEngine": true } config.dirname = '/' -config.runtimeDataModel = JSON.parse("{\"models\":{\"member\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handle\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handleLower\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberRatingId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberMaxRating\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherLangName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MemberStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberAddress\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phones\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberPhone\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"competitionCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"photoURL\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tracks\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"loginCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLoginDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigsLastUpdateDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProfileConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScoreDeduction\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"namesAndHandleAppearance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aggregatedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enteredSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"financial\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberFinancial\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStats\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStats\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStatsHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStatsHistory\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberAddress\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr1\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr2\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stateCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberPhone\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"number\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"number\"]}],\"isGenerated\":false},\"memberMaxRating\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"track\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subTrack\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ratingColor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberFinancial\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FinancialStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStatsHistory\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"percentile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStats\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challenges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wins\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentSubmission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentEventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgNumSubmissions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"globalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"countryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topFiveFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topTenFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"trackId\",\"typeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"trackId\",\"typeId\"]}],\"isGenerated\":false},\"memberTraits\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"device\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitDevice\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"software\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitSoftware\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serviceProvider\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitServiceProvider\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptions\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hobby\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"work\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitWork\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"education\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitEducation\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basicInfo\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitBasicInfo\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitLanguage\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"checklist\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitOnboardChecklist\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"personalization\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitPersonalization\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"community\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitCommunity\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberTraitDevice\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DeviceType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatingSystem\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osLanguage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitSoftware\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"softwareType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SoftwareType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitServiceProvider\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServiceProviderType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitWork\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"industry\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WorkIndustryType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherIndustry\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"working\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"associatedSkills\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitEducation\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collegeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"degree\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endYear\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitBasicInfo\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"primaryInterestInTopcoder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tshirtSize\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"shortBio\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"memberTraitId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"memberTraitId\"]}],\"isGenerated\":false},\"memberTraitLanguage\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"spokenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"writtenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitOnboardChecklist\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"listItemType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitPersonalization\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"private\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitCommunity\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"communityName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"MemberStatus\":{\"values\":[{\"name\":\"UNVERIFIED\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"INACTIVE_USER_REQUEST\",\"dbName\":null},{\"name\":\"INACTIVE_DUPLICATE_ACCOUNT\",\"dbName\":null},{\"name\":\"INACTIVE_IRREGULAR_ACCOUNT\",\"dbName\":null},{\"name\":\"UNKNOWN\",\"dbName\":null}],\"dbName\":null},\"FinancialStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"PAID\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null}],\"dbName\":null},\"DeviceType\":{\"values\":[{\"name\":\"Console\",\"dbName\":null},{\"name\":\"Desktop\",\"dbName\":null},{\"name\":\"Laptop\",\"dbName\":null},{\"name\":\"Smartphone\",\"dbName\":null},{\"name\":\"Tablet\",\"dbName\":null},{\"name\":\"Wearable\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"SoftwareType\":{\"values\":[{\"name\":\"DeveloperTools\",\"dbName\":null},{\"name\":\"Browser\",\"dbName\":null},{\"name\":\"Productivity\",\"dbName\":null},{\"name\":\"GraphAndDesign\",\"dbName\":null},{\"name\":\"Utilities\",\"dbName\":null}],\"dbName\":null},\"ServiceProviderType\":{\"values\":[{\"name\":\"InternetServiceProvider\",\"dbName\":null},{\"name\":\"MobileCarrier\",\"dbName\":null},{\"name\":\"Television\",\"dbName\":null},{\"name\":\"FinancialInstitution\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"WorkIndustryType\":{\"values\":[{\"name\":\"Banking\",\"dbName\":null},{\"name\":\"ConsumerGoods\",\"dbName\":null},{\"name\":\"Energy\",\"dbName\":null},{\"name\":\"Entertainment\",\"dbName\":null},{\"name\":\"HealthCare\",\"dbName\":null},{\"name\":\"Pharma\",\"dbName\":null},{\"name\":\"PublicSector\",\"dbName\":null},{\"name\":\"TechAndTechnologyService\",\"dbName\":null},{\"name\":\"Telecoms\",\"dbName\":null},{\"name\":\"TravelAndHospitality\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"member\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handle\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handleLower\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberRatingId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberMaxRating\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherLangName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MemberStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberAddress\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phones\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberPhone\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"competitionCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"photoURL\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tracks\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"loginCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLoginDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigsLastUpdateDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProfileConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScoreDeduction\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"namesAndHandleAppearance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aggregatedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enteredSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"financial\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberFinancial\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStats\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStats\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStatsHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStatsHistory\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengePoints\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberChallengePoints\",\"nativeType\":null,\"relationName\":\"memberTomemberChallengePoints\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberAddress\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr1\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr2\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stateCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberPhone\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"number\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"number\"]}],\"isGenerated\":false},\"memberMaxRating\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"track\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subTrack\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ratingColor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberFinancial\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FinancialStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStatsHistory\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"percentile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStats\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challenges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wins\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentSubmission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentEventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgNumSubmissions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"globalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"countryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topFiveFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topTenFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"trackId\",\"typeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"trackId\",\"typeId\"]}],\"isGenerated\":false},\"memberChallengePoints\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"points\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberChallengePoints\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"challengeId\",\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"challengeId\",\"userId\"]}],\"isGenerated\":false},\"memberTraits\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"device\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitDevice\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"software\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitSoftware\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serviceProvider\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitServiceProvider\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptions\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hobby\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"work\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitWork\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"education\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitEducation\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basicInfo\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitBasicInfo\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitLanguage\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"checklist\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitOnboardChecklist\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"personalization\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitPersonalization\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"community\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitCommunity\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberTraitDevice\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DeviceType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatingSystem\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osLanguage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitSoftware\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"softwareType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SoftwareType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitServiceProvider\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServiceProviderType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitWork\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"industry\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WorkIndustryType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherIndustry\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"working\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"associatedSkills\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitEducation\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collegeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"degree\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endYear\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitBasicInfo\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"primaryInterestInTopcoder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tshirtSize\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"shortBio\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"memberTraitId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"memberTraitId\"]}],\"isGenerated\":false},\"memberTraitLanguage\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"spokenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"writtenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitOnboardChecklist\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"listItemType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitPersonalization\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"private\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitCommunity\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"communityName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"MemberStatus\":{\"values\":[{\"name\":\"UNVERIFIED\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"INACTIVE_USER_REQUEST\",\"dbName\":null},{\"name\":\"INACTIVE_DUPLICATE_ACCOUNT\",\"dbName\":null},{\"name\":\"INACTIVE_IRREGULAR_ACCOUNT\",\"dbName\":null},{\"name\":\"UNKNOWN\",\"dbName\":null}],\"dbName\":null},\"FinancialStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"PAID\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null}],\"dbName\":null},\"DeviceType\":{\"values\":[{\"name\":\"Console\",\"dbName\":null},{\"name\":\"Desktop\",\"dbName\":null},{\"name\":\"Laptop\",\"dbName\":null},{\"name\":\"Smartphone\",\"dbName\":null},{\"name\":\"Tablet\",\"dbName\":null},{\"name\":\"Wearable\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"SoftwareType\":{\"values\":[{\"name\":\"DeveloperTools\",\"dbName\":null},{\"name\":\"Browser\",\"dbName\":null},{\"name\":\"Productivity\",\"dbName\":null},{\"name\":\"GraphAndDesign\",\"dbName\":null},{\"name\":\"Utilities\",\"dbName\":null}],\"dbName\":null},\"ServiceProviderType\":{\"values\":[{\"name\":\"InternetServiceProvider\",\"dbName\":null},{\"name\":\"MobileCarrier\",\"dbName\":null},{\"name\":\"Television\",\"dbName\":null},{\"name\":\"FinancialInstitution\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"WorkIndustryType\":{\"values\":[{\"name\":\"Banking\",\"dbName\":null},{\"name\":\"ConsumerGoods\",\"dbName\":null},{\"name\":\"Energy\",\"dbName\":null},{\"name\":\"Entertainment\",\"dbName\":null},{\"name\":\"HealthCare\",\"dbName\":null},{\"name\":\"Pharma\",\"dbName\":null},{\"name\":\"PublicSector\",\"dbName\":null},{\"name\":\"TechAndTechnologyService\",\"dbName\":null},{\"name\":\"Telecoms\",\"dbName\":null},{\"name\":\"TravelAndHospitality\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined diff --git a/prisma/generated/client/index-browser.js b/prisma/generated/client/index-browser.js index cddcdac..935381c 100644 --- a/prisma/generated/client/index-browser.js +++ b/prisma/generated/client/index-browser.js @@ -262,6 +262,19 @@ exports.Prisma.MemberStatsScalarFieldEnum = { updatedBy: 'updatedBy' }; +exports.Prisma.MemberChallengePointsScalarFieldEnum = { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + exports.Prisma.MemberTraitsScalarFieldEnum = { id: 'id', userId: 'userId', @@ -496,6 +509,7 @@ exports.Prisma.ModelName = { memberFinancial: 'memberFinancial', memberStatsHistory: 'memberStatsHistory', memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', memberTraits: 'memberTraits', memberTraitDevice: 'memberTraitDevice', memberTraitSoftware: 'memberTraitSoftware', diff --git a/prisma/generated/client/index.d.ts b/prisma/generated/client/index.d.ts index ac1b721..74fd124 100644 --- a/prisma/generated/client/index.d.ts +++ b/prisma/generated/client/index.d.ts @@ -48,6 +48,11 @@ export type memberStatsHistory = $Result.DefaultSelection +/** + * Model memberChallengePoints + * + */ +export type memberChallengePoints = $Result.DefaultSelection /** * Model memberTraits * @@ -395,6 +400,16 @@ export class PrismaClient< */ get memberStats(): Prisma.memberStatsDelegate; + /** + * `prisma.memberChallengePoints`: Exposes CRUD operations for the **memberChallengePoints** model. + * Example usage: + * ```ts + * // Fetch zero or more MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findMany() + * ``` + */ + get memberChallengePoints(): Prisma.memberChallengePointsDelegate; + /** * `prisma.memberTraits`: Exposes CRUD operations for the **memberTraits** model. * Example usage: @@ -952,6 +967,7 @@ export namespace Prisma { memberFinancial: 'memberFinancial', memberStatsHistory: 'memberStatsHistory', memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', memberTraits: 'memberTraits', memberTraitDevice: 'memberTraitDevice', memberTraitSoftware: 'memberTraitSoftware', @@ -981,7 +997,7 @@ export namespace Prisma { omit: GlobalOmitOptions } meta: { - modelProps: "member" | "memberAddress" | "memberPhone" | "memberMaxRating" | "memberFinancial" | "memberStatsHistory" | "memberStats" | "memberTraits" | "memberTraitDevice" | "memberTraitSoftware" | "memberTraitServiceProvider" | "memberTraitWork" | "memberTraitEducation" | "memberTraitBasicInfo" | "memberTraitLanguage" | "memberTraitOnboardChecklist" | "memberTraitPersonalization" | "memberTraitCommunity" + modelProps: "member" | "memberAddress" | "memberPhone" | "memberMaxRating" | "memberFinancial" | "memberStatsHistory" | "memberStats" | "memberChallengePoints" | "memberTraits" | "memberTraitDevice" | "memberTraitSoftware" | "memberTraitServiceProvider" | "memberTraitWork" | "memberTraitEducation" | "memberTraitBasicInfo" | "memberTraitLanguage" | "memberTraitOnboardChecklist" | "memberTraitPersonalization" | "memberTraitCommunity" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { @@ -1503,6 +1519,80 @@ export namespace Prisma { } } } + memberChallengePoints: { + payload: Prisma.$memberChallengePointsPayload + fields: Prisma.memberChallengePointsFieldRefs + operations: { + findUnique: { + args: Prisma.memberChallengePointsFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.memberChallengePointsFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.memberChallengePointsFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.memberChallengePointsFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.memberChallengePointsFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.memberChallengePointsCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.memberChallengePointsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.memberChallengePointsCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.memberChallengePointsDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.memberChallengePointsUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.memberChallengePointsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.memberChallengePointsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.memberChallengePointsUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.memberChallengePointsUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MemberChallengePointsAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.memberChallengePointsGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.memberChallengePointsCountArgs + result: $Utils.Optional | number + } + } + } memberTraits: { payload: Prisma.$memberTraitsPayload fields: Prisma.memberTraitsFieldRefs @@ -2420,6 +2510,7 @@ export namespace Prisma { memberFinancial?: memberFinancialOmit memberStatsHistory?: memberStatsHistoryOmit memberStats?: memberStatsOmit + memberChallengePoints?: memberChallengePointsOmit memberTraits?: memberTraitsOmit memberTraitDevice?: memberTraitDeviceOmit memberTraitSoftware?: memberTraitSoftwareOmit @@ -2515,6 +2606,7 @@ export namespace Prisma { phones: number memberStats: number memberStatsHistory: number + challengePoints: number } export type MemberCountOutputTypeSelect = { @@ -2522,6 +2614,7 @@ export namespace Prisma { phones?: boolean | MemberCountOutputTypeCountPhonesArgs memberStats?: boolean | MemberCountOutputTypeCountMemberStatsArgs memberStatsHistory?: boolean | MemberCountOutputTypeCountMemberStatsHistoryArgs + challengePoints?: boolean | MemberCountOutputTypeCountChallengePointsArgs } // Custom InputTypes @@ -2563,6 +2656,13 @@ export namespace Prisma { where?: memberStatsHistoryWhereInput } + /** + * MemberCountOutputType without action + */ + export type MemberCountOutputTypeCountChallengePointsArgs = { + where?: memberChallengePointsWhereInput + } + /** * Count Type MemberTraitsCountOutputType @@ -3128,6 +3228,7 @@ export namespace Prisma { financial?: boolean | member$financialArgs memberStats?: boolean | member$memberStatsArgs memberStatsHistory?: boolean | member$memberStatsHistoryArgs + challengePoints?: boolean | member$challengePointsArgs memberTraits?: boolean | member$memberTraitsArgs _count?: boolean | MemberCountOutputTypeDefaultArgs }, ExtArgs["result"]["member"]> @@ -3254,6 +3355,7 @@ export namespace Prisma { financial?: boolean | member$financialArgs memberStats?: boolean | member$memberStatsArgs memberStatsHistory?: boolean | member$memberStatsHistoryArgs + challengePoints?: boolean | member$challengePointsArgs memberTraits?: boolean | member$memberTraitsArgs _count?: boolean | MemberCountOutputTypeDefaultArgs } @@ -3269,6 +3371,7 @@ export namespace Prisma { financial: Prisma.$memberFinancialPayload | null memberStats: Prisma.$memberStatsPayload[] memberStatsHistory: Prisma.$memberStatsHistoryPayload[] + challengePoints: Prisma.$memberChallengePointsPayload[] memberTraits: Prisma.$memberTraitsPayload | null } scalars: $Extensions.GetPayloadResult<{ @@ -3707,6 +3810,7 @@ export namespace Prisma { financial = {}>(args?: Subset>): Prisma__memberFinancialClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> memberStats = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> memberStatsHistory = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + challengePoints = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> memberTraits = {}>(args?: Subset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. @@ -4293,6 +4397,30 @@ export namespace Prisma { distinct?: MemberStatsHistoryScalarFieldEnum | MemberStatsHistoryScalarFieldEnum[] } + /** + * member.challengePoints + */ + export type member$challengePointsArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + where?: memberChallengePointsWhereInput + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] + cursor?: memberChallengePointsWhereUniqueInput + take?: number + skip?: number + distinct?: MemberChallengePointsScalarFieldEnum | MemberChallengePointsScalarFieldEnum[] + } + /** * member.memberTraits */ @@ -11727,50 +11855,64 @@ export namespace Prisma { /** - * Model memberTraits + * Model memberChallengePoints */ - export type AggregateMemberTraits = { - _count: MemberTraitsCountAggregateOutputType | null - _avg: MemberTraitsAvgAggregateOutputType | null - _sum: MemberTraitsSumAggregateOutputType | null - _min: MemberTraitsMinAggregateOutputType | null - _max: MemberTraitsMaxAggregateOutputType | null + export type AggregateMemberChallengePoints = { + _count: MemberChallengePointsCountAggregateOutputType | null + _avg: MemberChallengePointsAvgAggregateOutputType | null + _sum: MemberChallengePointsSumAggregateOutputType | null + _min: MemberChallengePointsMinAggregateOutputType | null + _max: MemberChallengePointsMaxAggregateOutputType | null } - export type MemberTraitsAvgAggregateOutputType = { + export type MemberChallengePointsAvgAggregateOutputType = { id: number | null userId: number | null + placement: number | null + points: number | null } - export type MemberTraitsSumAggregateOutputType = { + export type MemberChallengePointsSumAggregateOutputType = { id: bigint | null userId: bigint | null + placement: number | null + points: number | null } - export type MemberTraitsMinAggregateOutputType = { + export type MemberChallengePointsMinAggregateOutputType = { id: bigint | null + challengeId: string | null + challengeName: string | null userId: bigint | null + placement: number | null + points: number | null createdAt: Date | null createdBy: string | null updatedAt: Date | null updatedBy: string | null } - export type MemberTraitsMaxAggregateOutputType = { + export type MemberChallengePointsMaxAggregateOutputType = { id: bigint | null + challengeId: string | null + challengeName: string | null userId: bigint | null + placement: number | null + points: number | null createdAt: Date | null createdBy: string | null updatedAt: Date | null updatedBy: string | null } - export type MemberTraitsCountAggregateOutputType = { + export type MemberChallengePointsCountAggregateOutputType = { id: number + challengeId: number + challengeName: number userId: number - subscriptions: number - hobby: number + placement: number + points: number createdAt: number createdBy: number updatedAt: number @@ -11779,39 +11921,53 @@ export namespace Prisma { } - export type MemberTraitsAvgAggregateInputType = { + export type MemberChallengePointsAvgAggregateInputType = { id?: true userId?: true + placement?: true + points?: true } - export type MemberTraitsSumAggregateInputType = { + export type MemberChallengePointsSumAggregateInputType = { id?: true userId?: true + placement?: true + points?: true } - export type MemberTraitsMinAggregateInputType = { + export type MemberChallengePointsMinAggregateInputType = { id?: true + challengeId?: true + challengeName?: true userId?: true + placement?: true + points?: true createdAt?: true createdBy?: true updatedAt?: true updatedBy?: true } - export type MemberTraitsMaxAggregateInputType = { + export type MemberChallengePointsMaxAggregateInputType = { id?: true + challengeId?: true + challengeName?: true userId?: true + placement?: true + points?: true createdAt?: true createdBy?: true updatedAt?: true updatedBy?: true } - export type MemberTraitsCountAggregateInputType = { + export type MemberChallengePointsCountAggregateInputType = { id?: true + challengeId?: true + challengeName?: true userId?: true - subscriptions?: true - hobby?: true + placement?: true + points?: true createdAt?: true createdBy?: true updatedAt?: true @@ -11819,356 +11975,336 @@ export namespace Prisma { _all?: true } - export type MemberTraitsAggregateArgs = { + export type MemberChallengePointsAggregateArgs = { /** - * Filter which memberTraits to aggregate. + * Filter which memberChallengePoints to aggregate. */ - where?: memberTraitsWhereInput + where?: memberChallengePointsWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * - * Determine the order of memberTraits to fetch. + * Determine the order of memberChallengePoints to fetch. */ - orderBy?: memberTraitsOrderByWithRelationInput | memberTraitsOrderByWithRelationInput[] + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ - cursor?: memberTraitsWhereUniqueInput + cursor?: memberChallengePointsWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * - * Take `±n` memberTraits from the position of the cursor. + * Take `±n` memberChallengePoints 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` memberTraits. + * Skip the first `n` memberChallengePoints. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * - * Count returned memberTraits + * Count returned memberChallengePoints **/ - _count?: true | MemberTraitsCountAggregateInputType + _count?: true | MemberChallengePointsCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ - _avg?: MemberTraitsAvgAggregateInputType + _avg?: MemberChallengePointsAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ - _sum?: MemberTraitsSumAggregateInputType + _sum?: MemberChallengePointsSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ - _min?: MemberTraitsMinAggregateInputType + _min?: MemberChallengePointsMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ - _max?: MemberTraitsMaxAggregateInputType + _max?: MemberChallengePointsMaxAggregateInputType } - export type GetMemberTraitsAggregateType = { - [P in keyof T & keyof AggregateMemberTraits]: P extends '_count' | 'count' + export type GetMemberChallengePointsAggregateType = { + [P in keyof T & keyof AggregateMemberChallengePoints]: P extends '_count' | 'count' ? T[P] extends true ? number - : GetScalarType - : GetScalarType + : GetScalarType + : GetScalarType } - export type memberTraitsGroupByArgs = { - where?: memberTraitsWhereInput - orderBy?: memberTraitsOrderByWithAggregationInput | memberTraitsOrderByWithAggregationInput[] - by: MemberTraitsScalarFieldEnum[] | MemberTraitsScalarFieldEnum - having?: memberTraitsScalarWhereWithAggregatesInput + export type memberChallengePointsGroupByArgs = { + where?: memberChallengePointsWhereInput + orderBy?: memberChallengePointsOrderByWithAggregationInput | memberChallengePointsOrderByWithAggregationInput[] + by: MemberChallengePointsScalarFieldEnum[] | MemberChallengePointsScalarFieldEnum + having?: memberChallengePointsScalarWhereWithAggregatesInput take?: number skip?: number - _count?: MemberTraitsCountAggregateInputType | true - _avg?: MemberTraitsAvgAggregateInputType - _sum?: MemberTraitsSumAggregateInputType - _min?: MemberTraitsMinAggregateInputType - _max?: MemberTraitsMaxAggregateInputType + _count?: MemberChallengePointsCountAggregateInputType | true + _avg?: MemberChallengePointsAvgAggregateInputType + _sum?: MemberChallengePointsSumAggregateInputType + _min?: MemberChallengePointsMinAggregateInputType + _max?: MemberChallengePointsMaxAggregateInputType } - export type MemberTraitsGroupByOutputType = { + export type MemberChallengePointsGroupByOutputType = { id: bigint + challengeId: string + challengeName: string userId: bigint - subscriptions: string[] - hobby: string[] + placement: number + points: number createdAt: Date createdBy: string updatedAt: Date | null updatedBy: string | null - _count: MemberTraitsCountAggregateOutputType | null - _avg: MemberTraitsAvgAggregateOutputType | null - _sum: MemberTraitsSumAggregateOutputType | null - _min: MemberTraitsMinAggregateOutputType | null - _max: MemberTraitsMaxAggregateOutputType | null + _count: MemberChallengePointsCountAggregateOutputType | null + _avg: MemberChallengePointsAvgAggregateOutputType | null + _sum: MemberChallengePointsSumAggregateOutputType | null + _min: MemberChallengePointsMinAggregateOutputType | null + _max: MemberChallengePointsMaxAggregateOutputType | null } - type GetMemberTraitsGroupByPayload = Prisma.PrismaPromise< + type GetMemberChallengePointsGroupByPayload = Prisma.PrismaPromise< Array< - PickEnumerable & + PickEnumerable & { - [P in ((keyof T) & (keyof MemberTraitsGroupByOutputType))]: P extends '_count' + [P in ((keyof T) & (keyof MemberChallengePointsGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number - : GetScalarType - : GetScalarType + : GetScalarType + : GetScalarType } > > - export type memberTraitsSelect = $Extensions.GetSelect<{ + export type memberChallengePointsSelect = $Extensions.GetSelect<{ id?: boolean + challengeId?: boolean + challengeName?: boolean userId?: boolean - subscriptions?: boolean - hobby?: boolean + placement?: boolean + points?: boolean createdAt?: boolean createdBy?: boolean updatedAt?: boolean updatedBy?: boolean - device?: boolean | memberTraits$deviceArgs - software?: boolean | memberTraits$softwareArgs - serviceProvider?: boolean | memberTraits$serviceProviderArgs - work?: boolean | memberTraits$workArgs - education?: boolean | memberTraits$educationArgs - basicInfo?: boolean | memberTraits$basicInfoArgs - language?: boolean | memberTraits$languageArgs - checklist?: boolean | memberTraits$checklistArgs - personalization?: boolean | memberTraits$personalizationArgs - community?: boolean | memberTraits$communityArgs member?: boolean | memberDefaultArgs - _count?: boolean | MemberTraitsCountOutputTypeDefaultArgs - }, ExtArgs["result"]["memberTraits"]> + }, ExtArgs["result"]["memberChallengePoints"]> - export type memberTraitsSelectCreateManyAndReturn = $Extensions.GetSelect<{ + export type memberChallengePointsSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean + challengeId?: boolean + challengeName?: boolean userId?: boolean - subscriptions?: boolean - hobby?: boolean + placement?: boolean + points?: boolean createdAt?: boolean createdBy?: boolean updatedAt?: boolean updatedBy?: boolean member?: boolean | memberDefaultArgs - }, ExtArgs["result"]["memberTraits"]> + }, ExtArgs["result"]["memberChallengePoints"]> - export type memberTraitsSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + export type memberChallengePointsSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean + challengeId?: boolean + challengeName?: boolean userId?: boolean - subscriptions?: boolean - hobby?: boolean + placement?: boolean + points?: boolean createdAt?: boolean createdBy?: boolean updatedAt?: boolean updatedBy?: boolean member?: boolean | memberDefaultArgs - }, ExtArgs["result"]["memberTraits"]> + }, ExtArgs["result"]["memberChallengePoints"]> - export type memberTraitsSelectScalar = { + export type memberChallengePointsSelectScalar = { id?: boolean + challengeId?: boolean + challengeName?: boolean userId?: boolean - subscriptions?: boolean - hobby?: boolean + placement?: boolean + points?: boolean createdAt?: boolean createdBy?: boolean updatedAt?: boolean updatedBy?: boolean } - export type memberTraitsOmit = $Extensions.GetOmit<"id" | "userId" | "subscriptions" | "hobby" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraits"]> - export type memberTraitsInclude = { - device?: boolean | memberTraits$deviceArgs - software?: boolean | memberTraits$softwareArgs - serviceProvider?: boolean | memberTraits$serviceProviderArgs - work?: boolean | memberTraits$workArgs - education?: boolean | memberTraits$educationArgs - basicInfo?: boolean | memberTraits$basicInfoArgs - language?: boolean | memberTraits$languageArgs - checklist?: boolean | memberTraits$checklistArgs - personalization?: boolean | memberTraits$personalizationArgs - community?: boolean | memberTraits$communityArgs + export type memberChallengePointsOmit = $Extensions.GetOmit<"id" | "challengeId" | "challengeName" | "userId" | "placement" | "points" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberChallengePoints"]> + export type memberChallengePointsInclude = { member?: boolean | memberDefaultArgs - _count?: boolean | MemberTraitsCountOutputTypeDefaultArgs } - export type memberTraitsIncludeCreateManyAndReturn = { + export type memberChallengePointsIncludeCreateManyAndReturn = { member?: boolean | memberDefaultArgs } - export type memberTraitsIncludeUpdateManyAndReturn = { + export type memberChallengePointsIncludeUpdateManyAndReturn = { member?: boolean | memberDefaultArgs } - export type $memberTraitsPayload = { - name: "memberTraits" + export type $memberChallengePointsPayload = { + name: "memberChallengePoints" objects: { - device: Prisma.$memberTraitDevicePayload[] - software: Prisma.$memberTraitSoftwarePayload[] - serviceProvider: Prisma.$memberTraitServiceProviderPayload[] - work: Prisma.$memberTraitWorkPayload[] - education: Prisma.$memberTraitEducationPayload[] - basicInfo: Prisma.$memberTraitBasicInfoPayload[] - language: Prisma.$memberTraitLanguagePayload[] - checklist: Prisma.$memberTraitOnboardChecklistPayload[] - personalization: Prisma.$memberTraitPersonalizationPayload[] - community: Prisma.$memberTraitCommunityPayload[] member: Prisma.$memberPayload } scalars: $Extensions.GetPayloadResult<{ id: bigint + challengeId: string + challengeName: string userId: bigint - subscriptions: string[] - hobby: string[] + placement: number + points: number createdAt: Date createdBy: string updatedAt: Date | null updatedBy: string | null - }, ExtArgs["result"]["memberTraits"]> + }, ExtArgs["result"]["memberChallengePoints"]> composites: {} } - type memberTraitsGetPayload = $Result.GetResult + type memberChallengePointsGetPayload = $Result.GetResult - type memberTraitsCountArgs = - Omit & { - select?: MemberTraitsCountAggregateInputType | true + type memberChallengePointsCountArgs = + Omit & { + select?: MemberChallengePointsCountAggregateInputType | true } - export interface memberTraitsDelegate { - [K: symbol]: { types: Prisma.TypeMap['model']['memberTraits'], meta: { name: 'memberTraits' } } + export interface memberChallengePointsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberChallengePoints'], meta: { name: 'memberChallengePoints' } } /** - * Find zero or one MemberTraits that matches the filter. - * @param {memberTraitsFindUniqueArgs} args - Arguments to find a MemberTraits + * Find zero or one MemberChallengePoints that matches the filter. + * @param {memberChallengePointsFindUniqueArgs} args - Arguments to find a MemberChallengePoints * @example - * // Get one MemberTraits - * const memberTraits = await prisma.memberTraits.findUnique({ + * // Get one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findUnique({ * where: { * // ... provide filter here * } * }) */ - findUnique(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + findUnique(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** - * Find one MemberTraits that matches the filter or throw an error with `error.code='P2025'` + * Find one MemberChallengePoints that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. - * @param {memberTraitsFindUniqueOrThrowArgs} args - Arguments to find a MemberTraits + * @param {memberChallengePointsFindUniqueOrThrowArgs} args - Arguments to find a MemberChallengePoints * @example - * // Get one MemberTraits - * const memberTraits = await prisma.memberTraits.findUniqueOrThrow({ + * // Get one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ - findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + findUniqueOrThrow(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** - * Find the first MemberTraits that matches the filter. + * Find the first MemberChallengePoints 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 {memberTraitsFindFirstArgs} args - Arguments to find a MemberTraits + * @param {memberChallengePointsFindFirstArgs} args - Arguments to find a MemberChallengePoints * @example - * // Get one MemberTraits - * const memberTraits = await prisma.memberTraits.findFirst({ + * // Get one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findFirst({ * where: { * // ... provide filter here * } * }) */ - findFirst(args?: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + findFirst(args?: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** - * Find the first MemberTraits that matches the filter or + * Find the first MemberChallengePoints 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 {memberTraitsFindFirstOrThrowArgs} args - Arguments to find a MemberTraits + * @param {memberChallengePointsFindFirstOrThrowArgs} args - Arguments to find a MemberChallengePoints * @example - * // Get one MemberTraits - * const memberTraits = await prisma.memberTraits.findFirstOrThrow({ + * // Get one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ - findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + findFirstOrThrow(args?: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** - * Find zero or more MemberTraits that matches the filter. + * Find zero or more MemberChallengePoints 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 {memberTraitsFindManyArgs} args - Arguments to filter and select certain fields only. + * @param {memberChallengePointsFindManyArgs} args - Arguments to filter and select certain fields only. * @example - * // Get all MemberTraits - * const memberTraits = await prisma.memberTraits.findMany() + * // Get all MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findMany() * - * // Get first 10 MemberTraits - * const memberTraits = await prisma.memberTraits.findMany({ take: 10 }) + * // Get first 10 MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.findMany({ take: 10 }) * * // Only select the `id` - * const memberTraitsWithIdOnly = await prisma.memberTraits.findMany({ select: { id: true } }) + * const memberChallengePointsWithIdOnly = await prisma.memberChallengePoints.findMany({ select: { id: true } }) * */ - findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** - * Create a MemberTraits. - * @param {memberTraitsCreateArgs} args - Arguments to create a MemberTraits. + * Create a MemberChallengePoints. + * @param {memberChallengePointsCreateArgs} args - Arguments to create a MemberChallengePoints. * @example - * // Create one MemberTraits - * const MemberTraits = await prisma.memberTraits.create({ + * // Create one MemberChallengePoints + * const MemberChallengePoints = await prisma.memberChallengePoints.create({ * data: { - * // ... data to create a MemberTraits + * // ... data to create a MemberChallengePoints * } * }) * */ - create(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + create(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** - * Create many MemberTraits. - * @param {memberTraitsCreateManyArgs} args - Arguments to create many MemberTraits. + * Create many MemberChallengePoints. + * @param {memberChallengePointsCreateManyArgs} args - Arguments to create many MemberChallengePoints. * @example - * // Create many MemberTraits - * const memberTraits = await prisma.memberTraits.createMany({ + * // Create many MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.createMany({ * data: [ * // ... provide data here * ] * }) * */ - createMany(args?: SelectSubset>): Prisma.PrismaPromise + createMany(args?: SelectSubset>): Prisma.PrismaPromise /** - * Create many MemberTraits and returns the data saved in the database. - * @param {memberTraitsCreateManyAndReturnArgs} args - Arguments to create many MemberTraits. + * Create many MemberChallengePoints and returns the data saved in the database. + * @param {memberChallengePointsCreateManyAndReturnArgs} args - Arguments to create many MemberChallengePoints. * @example - * // Create many MemberTraits - * const memberTraits = await prisma.memberTraits.createManyAndReturn({ + * // Create many MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * - * // Create many MemberTraits and only return the `id` - * const memberTraitsWithIdOnly = await prisma.memberTraits.createManyAndReturn({ + * // Create many MemberChallengePoints and only return the `id` + * const memberChallengePointsWithIdOnly = await prisma.memberChallengePoints.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here @@ -12178,28 +12314,28 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> /** - * Delete a MemberTraits. - * @param {memberTraitsDeleteArgs} args - Arguments to delete one MemberTraits. + * Delete a MemberChallengePoints. + * @param {memberChallengePointsDeleteArgs} args - Arguments to delete one MemberChallengePoints. * @example - * // Delete one MemberTraits - * const MemberTraits = await prisma.memberTraits.delete({ + * // Delete one MemberChallengePoints + * const MemberChallengePoints = await prisma.memberChallengePoints.delete({ * where: { - * // ... filter to delete one MemberTraits + * // ... filter to delete one MemberChallengePoints * } * }) * */ - delete(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + delete(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** - * Update one MemberTraits. - * @param {memberTraitsUpdateArgs} args - Arguments to update one MemberTraits. + * Update one MemberChallengePoints. + * @param {memberChallengePointsUpdateArgs} args - Arguments to update one MemberChallengePoints. * @example - * // Update one MemberTraits - * const memberTraits = await prisma.memberTraits.update({ + * // Update one MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.update({ * where: { * // ... provide filter here * }, @@ -12209,30 +12345,30 @@ export namespace Prisma { * }) * */ - update(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + update(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** - * Delete zero or more MemberTraits. - * @param {memberTraitsDeleteManyArgs} args - Arguments to filter MemberTraits to delete. + * Delete zero or more MemberChallengePoints. + * @param {memberChallengePointsDeleteManyArgs} args - Arguments to filter MemberChallengePoints to delete. * @example - * // Delete a few MemberTraits - * const { count } = await prisma.memberTraits.deleteMany({ + * // Delete a few MemberChallengePoints + * const { count } = await prisma.memberChallengePoints.deleteMany({ * where: { * // ... provide filter here * } * }) * */ - deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** - * Update zero or more MemberTraits. + * Update zero or more MemberChallengePoints. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {memberTraitsUpdateManyArgs} args - Arguments to update one or more rows. + * @param {memberChallengePointsUpdateManyArgs} args - Arguments to update one or more rows. * @example - * // Update many MemberTraits - * const memberTraits = await prisma.memberTraits.updateMany({ + * // Update many MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.updateMany({ * where: { * // ... provide filter here * }, @@ -12242,14 +12378,14 @@ export namespace Prisma { * }) * */ - updateMany(args: SelectSubset>): Prisma.PrismaPromise + updateMany(args: SelectSubset>): Prisma.PrismaPromise /** - * Update zero or more MemberTraits and returns the data updated in the database. - * @param {memberTraitsUpdateManyAndReturnArgs} args - Arguments to update many MemberTraits. + * Update zero or more MemberChallengePoints and returns the data updated in the database. + * @param {memberChallengePointsUpdateManyAndReturnArgs} args - Arguments to update many MemberChallengePoints. * @example - * // Update many MemberTraits - * const memberTraits = await prisma.memberTraits.updateManyAndReturn({ + * // Update many MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.updateManyAndReturn({ * where: { * // ... provide filter here * }, @@ -12258,8 +12394,8 @@ export namespace Prisma { * ] * }) * - * // Update zero or more MemberTraits and only return the `id` - * const memberTraitsWithIdOnly = await prisma.memberTraits.updateManyAndReturn({ + * // Update zero or more MemberChallengePoints and only return the `id` + * const memberChallengePointsWithIdOnly = await prisma.memberChallengePoints.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here @@ -12272,56 +12408,56 @@ export namespace Prisma { * Read more here: https://pris.ly/d/null-undefined * */ - updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** - * Create or update one MemberTraits. - * @param {memberTraitsUpsertArgs} args - Arguments to update or create a MemberTraits. + * Create or update one MemberChallengePoints. + * @param {memberChallengePointsUpsertArgs} args - Arguments to update or create a MemberChallengePoints. * @example - * // Update or create a MemberTraits - * const memberTraits = await prisma.memberTraits.upsert({ + * // Update or create a MemberChallengePoints + * const memberChallengePoints = await prisma.memberChallengePoints.upsert({ * create: { - * // ... data to create a MemberTraits + * // ... data to create a MemberChallengePoints * }, * update: { * // ... in case it already exists, update * }, * where: { - * // ... the filter for the MemberTraits we want to update + * // ... the filter for the MemberChallengePoints we want to update * } * }) */ - upsert(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + upsert(args: SelectSubset>): Prisma__memberChallengePointsClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** - * Count the number of MemberTraits. + * Count the number of MemberChallengePoints. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {memberTraitsCountArgs} args - Arguments to filter MemberTraits to count. + * @param {memberChallengePointsCountArgs} args - Arguments to filter MemberChallengePoints to count. * @example - * // Count the number of MemberTraits - * const count = await prisma.memberTraits.count({ + * // Count the number of MemberChallengePoints + * const count = await prisma.memberChallengePoints.count({ * where: { - * // ... the filter for the MemberTraits we want to count + * // ... the filter for the MemberChallengePoints we want to count * } * }) **/ - count( - args?: Subset, + count( + args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number - : GetScalarType + : GetScalarType : number > /** - * Allows you to perform aggregations operations on a MemberTraits. + * Allows you to perform aggregations operations on a MemberChallengePoints. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {MemberTraitsAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @param {MemberChallengePointsAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io @@ -12341,13 +12477,13 @@ export namespace Prisma { * take: 10, * }) **/ - aggregate(args: Subset): Prisma.PrismaPromise> + aggregate(args: Subset): Prisma.PrismaPromise> /** - * Group by MemberTraits. + * Group by MemberChallengePoints. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined - * @param {memberTraitsGroupByArgs} args - Group by arguments. + * @param {memberChallengePointsGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ @@ -12362,14 +12498,1175 @@ export namespace Prisma { * **/ groupBy< - T extends memberTraitsGroupByArgs, + T extends memberChallengePointsGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake - ? { orderBy: memberTraitsGroupByArgs['orderBy'] } - : { orderBy?: memberTraitsGroupByArgs['orderBy'] }, + ? { orderBy: memberChallengePointsGroupByArgs['orderBy'] } + : { orderBy?: memberChallengePointsGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMemberChallengePointsGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the memberChallengePoints model + */ + readonly fields: memberChallengePointsFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for memberChallengePoints. + * 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__memberChallengePointsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + member = {}>(args?: Subset>): Prisma__memberClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the memberChallengePoints model + */ + interface memberChallengePointsFieldRefs { + readonly id: FieldRef<"memberChallengePoints", 'BigInt'> + readonly challengeId: FieldRef<"memberChallengePoints", 'String'> + readonly challengeName: FieldRef<"memberChallengePoints", 'String'> + readonly userId: FieldRef<"memberChallengePoints", 'BigInt'> + readonly placement: FieldRef<"memberChallengePoints", 'Int'> + readonly points: FieldRef<"memberChallengePoints", 'Int'> + readonly createdAt: FieldRef<"memberChallengePoints", 'DateTime'> + readonly createdBy: FieldRef<"memberChallengePoints", 'String'> + readonly updatedAt: FieldRef<"memberChallengePoints", 'DateTime'> + readonly updatedBy: FieldRef<"memberChallengePoints", 'String'> + } + + + // Custom InputTypes + /** + * memberChallengePoints findUnique + */ + export type memberChallengePointsFindUniqueArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where: memberChallengePointsWhereUniqueInput + } + + /** + * memberChallengePoints findUniqueOrThrow + */ + export type memberChallengePointsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where: memberChallengePointsWhereUniqueInput + } + + /** + * memberChallengePoints findFirst + */ + export type memberChallengePointsFindFirstArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where?: memberChallengePointsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberChallengePoints to fetch. + */ + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberChallengePoints. + */ + cursor?: memberChallengePointsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberChallengePoints 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` memberChallengePoints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberChallengePoints. + */ + distinct?: MemberChallengePointsScalarFieldEnum | MemberChallengePointsScalarFieldEnum[] + } + + /** + * memberChallengePoints findFirstOrThrow + */ + export type memberChallengePointsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where?: memberChallengePointsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberChallengePoints to fetch. + */ + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for memberChallengePoints. + */ + cursor?: memberChallengePointsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberChallengePoints 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` memberChallengePoints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of memberChallengePoints. + */ + distinct?: MemberChallengePointsScalarFieldEnum | MemberChallengePointsScalarFieldEnum[] + } + + /** + * memberChallengePoints findMany + */ + export type memberChallengePointsFindManyArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter, which memberChallengePoints to fetch. + */ + where?: memberChallengePointsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberChallengePoints to fetch. + */ + orderBy?: memberChallengePointsOrderByWithRelationInput | memberChallengePointsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing memberChallengePoints. + */ + cursor?: memberChallengePointsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberChallengePoints 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` memberChallengePoints. + */ + skip?: number + distinct?: MemberChallengePointsScalarFieldEnum | MemberChallengePointsScalarFieldEnum[] + } + + /** + * memberChallengePoints create + */ + export type memberChallengePointsCreateArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * The data needed to create a memberChallengePoints. + */ + data: XOR + } + + /** + * memberChallengePoints createMany + */ + export type memberChallengePointsCreateManyArgs = { + /** + * The data used to create many memberChallengePoints. + */ + data: memberChallengePointsCreateManyInput | memberChallengePointsCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * memberChallengePoints createManyAndReturn + */ + export type memberChallengePointsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * The data used to create many memberChallengePoints. + */ + data: memberChallengePointsCreateManyInput | memberChallengePointsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsIncludeCreateManyAndReturn | null + } + + /** + * memberChallengePoints update + */ + export type memberChallengePointsUpdateArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * The data needed to update a memberChallengePoints. + */ + data: XOR + /** + * Choose, which memberChallengePoints to update. + */ + where: memberChallengePointsWhereUniqueInput + } + + /** + * memberChallengePoints updateMany + */ + export type memberChallengePointsUpdateManyArgs = { + /** + * The data used to update memberChallengePoints. + */ + data: XOR + /** + * Filter which memberChallengePoints to update + */ + where?: memberChallengePointsWhereInput + /** + * Limit how many memberChallengePoints to update. + */ + limit?: number + } + + /** + * memberChallengePoints updateManyAndReturn + */ + export type memberChallengePointsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * The data used to update memberChallengePoints. + */ + data: XOR + /** + * Filter which memberChallengePoints to update + */ + where?: memberChallengePointsWhereInput + /** + * Limit how many memberChallengePoints to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsIncludeUpdateManyAndReturn | null + } + + /** + * memberChallengePoints upsert + */ + export type memberChallengePointsUpsertArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * The filter to search for the memberChallengePoints to update in case it exists. + */ + where: memberChallengePointsWhereUniqueInput + /** + * In case the memberChallengePoints found by the `where` argument doesn't exist, create a new memberChallengePoints with this data. + */ + create: XOR + /** + * In case the memberChallengePoints was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * memberChallengePoints delete + */ + export type memberChallengePointsDeleteArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + /** + * Filter which memberChallengePoints to delete. + */ + where: memberChallengePointsWhereUniqueInput + } + + /** + * memberChallengePoints deleteMany + */ + export type memberChallengePointsDeleteManyArgs = { + /** + * Filter which memberChallengePoints to delete + */ + where?: memberChallengePointsWhereInput + /** + * Limit how many memberChallengePoints to delete. + */ + limit?: number + } + + /** + * memberChallengePoints without action + */ + export type memberChallengePointsDefaultArgs = { + /** + * Select specific fields to fetch from the memberChallengePoints + */ + select?: memberChallengePointsSelect | null + /** + * Omit specific fields from the memberChallengePoints + */ + omit?: memberChallengePointsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: memberChallengePointsInclude | null + } + + + /** + * Model memberTraits + */ + + export type AggregateMemberTraits = { + _count: MemberTraitsCountAggregateOutputType | null + _avg: MemberTraitsAvgAggregateOutputType | null + _sum: MemberTraitsSumAggregateOutputType | null + _min: MemberTraitsMinAggregateOutputType | null + _max: MemberTraitsMaxAggregateOutputType | null + } + + export type MemberTraitsAvgAggregateOutputType = { + id: number | null + userId: number | null + } + + export type MemberTraitsSumAggregateOutputType = { + id: bigint | null + userId: bigint | null + } + + export type MemberTraitsMinAggregateOutputType = { + id: bigint | null + userId: bigint | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitsMaxAggregateOutputType = { + id: bigint | null + userId: bigint | null + createdAt: Date | null + createdBy: string | null + updatedAt: Date | null + updatedBy: string | null + } + + export type MemberTraitsCountAggregateOutputType = { + id: number + userId: number + subscriptions: number + hobby: number + createdAt: number + createdBy: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type MemberTraitsAvgAggregateInputType = { + id?: true + userId?: true + } + + export type MemberTraitsSumAggregateInputType = { + id?: true + userId?: true + } + + export type MemberTraitsMinAggregateInputType = { + id?: true + userId?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitsMaxAggregateInputType = { + id?: true + userId?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + } + + export type MemberTraitsCountAggregateInputType = { + id?: true + userId?: true + subscriptions?: true + hobby?: true + createdAt?: true + createdBy?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type MemberTraitsAggregateArgs = { + /** + * Filter which memberTraits to aggregate. + */ + where?: memberTraitsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of memberTraits to fetch. + */ + orderBy?: memberTraitsOrderByWithRelationInput | memberTraitsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: memberTraitsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` memberTraits 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` memberTraits. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned memberTraits + **/ + _count?: true | MemberTraitsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MemberTraitsAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MemberTraitsSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MemberTraitsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MemberTraitsMaxAggregateInputType + } + + export type GetMemberTraitsAggregateType = { + [P in keyof T & keyof AggregateMemberTraits]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type memberTraitsGroupByArgs = { + where?: memberTraitsWhereInput + orderBy?: memberTraitsOrderByWithAggregationInput | memberTraitsOrderByWithAggregationInput[] + by: MemberTraitsScalarFieldEnum[] | MemberTraitsScalarFieldEnum + having?: memberTraitsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MemberTraitsCountAggregateInputType | true + _avg?: MemberTraitsAvgAggregateInputType + _sum?: MemberTraitsSumAggregateInputType + _min?: MemberTraitsMinAggregateInputType + _max?: MemberTraitsMaxAggregateInputType + } + + export type MemberTraitsGroupByOutputType = { + id: bigint + userId: bigint + subscriptions: string[] + hobby: string[] + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + _count: MemberTraitsCountAggregateOutputType | null + _avg: MemberTraitsAvgAggregateOutputType | null + _sum: MemberTraitsSumAggregateOutputType | null + _min: MemberTraitsMinAggregateOutputType | null + _max: MemberTraitsMaxAggregateOutputType | null + } + + type GetMemberTraitsGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MemberTraitsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type memberTraitsSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + subscriptions?: boolean + hobby?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + device?: boolean | memberTraits$deviceArgs + software?: boolean | memberTraits$softwareArgs + serviceProvider?: boolean | memberTraits$serviceProviderArgs + work?: boolean | memberTraits$workArgs + education?: boolean | memberTraits$educationArgs + basicInfo?: boolean | memberTraits$basicInfoArgs + language?: boolean | memberTraits$languageArgs + checklist?: boolean | memberTraits$checklistArgs + personalization?: boolean | memberTraits$personalizationArgs + community?: boolean | memberTraits$communityArgs + member?: boolean | memberDefaultArgs + _count?: boolean | MemberTraitsCountOutputTypeDefaultArgs + }, ExtArgs["result"]["memberTraits"]> + + export type memberTraitsSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + subscriptions?: boolean + hobby?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberTraits"]> + + export type memberTraitsSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + subscriptions?: boolean + hobby?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + member?: boolean | memberDefaultArgs + }, ExtArgs["result"]["memberTraits"]> + + export type memberTraitsSelectScalar = { + id?: boolean + userId?: boolean + subscriptions?: boolean + hobby?: boolean + createdAt?: boolean + createdBy?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type memberTraitsOmit = $Extensions.GetOmit<"id" | "userId" | "subscriptions" | "hobby" | "createdAt" | "createdBy" | "updatedAt" | "updatedBy", ExtArgs["result"]["memberTraits"]> + export type memberTraitsInclude = { + device?: boolean | memberTraits$deviceArgs + software?: boolean | memberTraits$softwareArgs + serviceProvider?: boolean | memberTraits$serviceProviderArgs + work?: boolean | memberTraits$workArgs + education?: boolean | memberTraits$educationArgs + basicInfo?: boolean | memberTraits$basicInfoArgs + language?: boolean | memberTraits$languageArgs + checklist?: boolean | memberTraits$checklistArgs + personalization?: boolean | memberTraits$personalizationArgs + community?: boolean | memberTraits$communityArgs + member?: boolean | memberDefaultArgs + _count?: boolean | MemberTraitsCountOutputTypeDefaultArgs + } + export type memberTraitsIncludeCreateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + export type memberTraitsIncludeUpdateManyAndReturn = { + member?: boolean | memberDefaultArgs + } + + export type $memberTraitsPayload = { + name: "memberTraits" + objects: { + device: Prisma.$memberTraitDevicePayload[] + software: Prisma.$memberTraitSoftwarePayload[] + serviceProvider: Prisma.$memberTraitServiceProviderPayload[] + work: Prisma.$memberTraitWorkPayload[] + education: Prisma.$memberTraitEducationPayload[] + basicInfo: Prisma.$memberTraitBasicInfoPayload[] + language: Prisma.$memberTraitLanguagePayload[] + checklist: Prisma.$memberTraitOnboardChecklistPayload[] + personalization: Prisma.$memberTraitPersonalizationPayload[] + community: Prisma.$memberTraitCommunityPayload[] + member: Prisma.$memberPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: bigint + userId: bigint + subscriptions: string[] + hobby: string[] + createdAt: Date + createdBy: string + updatedAt: Date | null + updatedBy: string | null + }, ExtArgs["result"]["memberTraits"]> + composites: {} + } + + type memberTraitsGetPayload = $Result.GetResult + + type memberTraitsCountArgs = + Omit & { + select?: MemberTraitsCountAggregateInputType | true + } + + export interface memberTraitsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['memberTraits'], meta: { name: 'memberTraits' } } + /** + * Find zero or one MemberTraits that matches the filter. + * @param {memberTraitsFindUniqueArgs} args - Arguments to find a MemberTraits + * @example + * // Get one MemberTraits + * const memberTraits = await prisma.memberTraits.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MemberTraits that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {memberTraitsFindUniqueOrThrowArgs} args - Arguments to find a MemberTraits + * @example + * // Get one MemberTraits + * const memberTraits = await prisma.memberTraits.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraits 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 {memberTraitsFindFirstArgs} args - Arguments to find a MemberTraits + * @example + * // Get one MemberTraits + * const memberTraits = await prisma.memberTraits.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MemberTraits 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 {memberTraitsFindFirstOrThrowArgs} args - Arguments to find a MemberTraits + * @example + * // Get one MemberTraits + * const memberTraits = await prisma.memberTraits.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MemberTraits 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 {memberTraitsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MemberTraits + * const memberTraits = await prisma.memberTraits.findMany() + * + * // Get first 10 MemberTraits + * const memberTraits = await prisma.memberTraits.findMany({ take: 10 }) + * + * // Only select the `id` + * const memberTraitsWithIdOnly = await prisma.memberTraits.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MemberTraits. + * @param {memberTraitsCreateArgs} args - Arguments to create a MemberTraits. + * @example + * // Create one MemberTraits + * const MemberTraits = await prisma.memberTraits.create({ + * data: { + * // ... data to create a MemberTraits + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MemberTraits. + * @param {memberTraitsCreateManyArgs} args - Arguments to create many MemberTraits. + * @example + * // Create many MemberTraits + * const memberTraits = await prisma.memberTraits.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MemberTraits and returns the data saved in the database. + * @param {memberTraitsCreateManyAndReturnArgs} args - Arguments to create many MemberTraits. + * @example + * // Create many MemberTraits + * const memberTraits = await prisma.memberTraits.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MemberTraits and only return the `id` + * const memberTraitsWithIdOnly = await prisma.memberTraits.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MemberTraits. + * @param {memberTraitsDeleteArgs} args - Arguments to delete one MemberTraits. + * @example + * // Delete one MemberTraits + * const MemberTraits = await prisma.memberTraits.delete({ + * where: { + * // ... filter to delete one MemberTraits + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MemberTraits. + * @param {memberTraitsUpdateArgs} args - Arguments to update one MemberTraits. + * @example + * // Update one MemberTraits + * const memberTraits = await prisma.memberTraits.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MemberTraits. + * @param {memberTraitsDeleteManyArgs} args - Arguments to filter MemberTraits to delete. + * @example + * // Delete a few MemberTraits + * const { count } = await prisma.memberTraits.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraits. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MemberTraits + * const memberTraits = await prisma.memberTraits.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MemberTraits and returns the data updated in the database. + * @param {memberTraitsUpdateManyAndReturnArgs} args - Arguments to update many MemberTraits. + * @example + * // Update many MemberTraits + * const memberTraits = await prisma.memberTraits.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MemberTraits and only return the `id` + * const memberTraitsWithIdOnly = await prisma.memberTraits.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MemberTraits. + * @param {memberTraitsUpsertArgs} args - Arguments to update or create a MemberTraits. + * @example + * // Update or create a MemberTraits + * const memberTraits = await prisma.memberTraits.upsert({ + * create: { + * // ... data to create a MemberTraits + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MemberTraits we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__memberTraitsClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MemberTraits. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitsCountArgs} args - Arguments to filter MemberTraits to count. + * @example + * // Count the number of MemberTraits + * const count = await prisma.memberTraits.count({ + * where: { + * // ... the filter for the MemberTraits we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MemberTraits. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MemberTraitsAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by MemberTraits. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {memberTraitsGroupByArgs} 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 memberTraitsGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: memberTraitsGroupByArgs['orderBy'] } + : { orderBy?: memberTraitsGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, @@ -24969,6 +26266,22 @@ export namespace Prisma { export type MemberStatsScalarFieldEnum = (typeof MemberStatsScalarFieldEnum)[keyof typeof MemberStatsScalarFieldEnum] + export const MemberChallengePointsScalarFieldEnum: { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type MemberChallengePointsScalarFieldEnum = (typeof MemberChallengePointsScalarFieldEnum)[keyof typeof MemberChallengePointsScalarFieldEnum] + + export const MemberTraitsScalarFieldEnum: { id: 'id', userId: 'userId', @@ -25416,6 +26729,7 @@ export namespace Prisma { financial?: XOR | null memberStats?: MemberStatsListRelationFilter memberStatsHistory?: MemberStatsHistoryListRelationFilter + challengePoints?: MemberChallengePointsListRelationFilter memberTraits?: XOR | null } @@ -25461,6 +26775,7 @@ export namespace Prisma { financial?: memberFinancialOrderByWithRelationInput memberStats?: memberStatsOrderByRelationAggregateInput memberStatsHistory?: memberStatsHistoryOrderByRelationAggregateInput + challengePoints?: memberChallengePointsOrderByRelationAggregateInput memberTraits?: memberTraitsOrderByWithRelationInput } @@ -25509,6 +26824,7 @@ export namespace Prisma { financial?: XOR | null memberStats?: MemberStatsListRelationFilter memberStatsHistory?: MemberStatsHistoryListRelationFilter + challengePoints?: MemberChallengePointsListRelationFilter memberTraits?: XOR | null }, "userId" | "handleLower" | "email"> @@ -26215,6 +27531,89 @@ export namespace Prisma { updatedBy?: StringNullableWithAggregatesFilter<"memberStats"> | string | null } + export type memberChallengePointsWhereInput = { + AND?: memberChallengePointsWhereInput | memberChallengePointsWhereInput[] + OR?: memberChallengePointsWhereInput[] + NOT?: memberChallengePointsWhereInput | memberChallengePointsWhereInput[] + id?: BigIntFilter<"memberChallengePoints"> | bigint | number + challengeId?: StringFilter<"memberChallengePoints"> | string + challengeName?: StringFilter<"memberChallengePoints"> | string + userId?: BigIntFilter<"memberChallengePoints"> | bigint | number + placement?: IntFilter<"memberChallengePoints"> | number + points?: IntFilter<"memberChallengePoints"> | number + createdAt?: DateTimeFilter<"memberChallengePoints"> | Date | string + createdBy?: StringFilter<"memberChallengePoints"> | string + updatedAt?: DateTimeNullableFilter<"memberChallengePoints"> | Date | string | null + updatedBy?: StringNullableFilter<"memberChallengePoints"> | string | null + member?: XOR + } + + export type memberChallengePointsOrderByWithRelationInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + member?: memberOrderByWithRelationInput + } + + export type memberChallengePointsWhereUniqueInput = Prisma.AtLeast<{ + id?: bigint | number + challengeId_userId?: memberChallengePointsChallengeIdUserIdCompoundUniqueInput + AND?: memberChallengePointsWhereInput | memberChallengePointsWhereInput[] + OR?: memberChallengePointsWhereInput[] + NOT?: memberChallengePointsWhereInput | memberChallengePointsWhereInput[] + challengeId?: StringFilter<"memberChallengePoints"> | string + challengeName?: StringFilter<"memberChallengePoints"> | string + userId?: BigIntFilter<"memberChallengePoints"> | bigint | number + placement?: IntFilter<"memberChallengePoints"> | number + points?: IntFilter<"memberChallengePoints"> | number + createdAt?: DateTimeFilter<"memberChallengePoints"> | Date | string + createdBy?: StringFilter<"memberChallengePoints"> | string + updatedAt?: DateTimeNullableFilter<"memberChallengePoints"> | Date | string | null + updatedBy?: StringNullableFilter<"memberChallengePoints"> | string | null + member?: XOR + }, "id" | "challengeId_userId"> + + export type memberChallengePointsOrderByWithAggregationInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrderInput | SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: memberChallengePointsCountOrderByAggregateInput + _avg?: memberChallengePointsAvgOrderByAggregateInput + _max?: memberChallengePointsMaxOrderByAggregateInput + _min?: memberChallengePointsMinOrderByAggregateInput + _sum?: memberChallengePointsSumOrderByAggregateInput + } + + export type memberChallengePointsScalarWhereWithAggregatesInput = { + AND?: memberChallengePointsScalarWhereWithAggregatesInput | memberChallengePointsScalarWhereWithAggregatesInput[] + OR?: memberChallengePointsScalarWhereWithAggregatesInput[] + NOT?: memberChallengePointsScalarWhereWithAggregatesInput | memberChallengePointsScalarWhereWithAggregatesInput[] + id?: BigIntWithAggregatesFilter<"memberChallengePoints"> | bigint | number + challengeId?: StringWithAggregatesFilter<"memberChallengePoints"> | string + challengeName?: StringWithAggregatesFilter<"memberChallengePoints"> | string + userId?: BigIntWithAggregatesFilter<"memberChallengePoints"> | bigint | number + placement?: IntWithAggregatesFilter<"memberChallengePoints"> | number + points?: IntWithAggregatesFilter<"memberChallengePoints"> | number + createdAt?: DateTimeWithAggregatesFilter<"memberChallengePoints"> | Date | string + createdBy?: StringWithAggregatesFilter<"memberChallengePoints"> | string + updatedAt?: DateTimeNullableWithAggregatesFilter<"memberChallengePoints"> | Date | string | null + updatedBy?: StringNullableWithAggregatesFilter<"memberChallengePoints"> | string | null + } + export type memberTraitsWhereInput = { AND?: memberTraitsWhereInput | memberTraitsWhereInput[] OR?: memberTraitsWhereInput[] @@ -27199,6 +28598,7 @@ export namespace Prisma { financial?: memberFinancialCreateNestedOneWithoutMemberInput memberStats?: memberStatsCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput } @@ -27244,6 +28644,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput } @@ -27289,6 +28690,7 @@ export namespace Prisma { financial?: memberFinancialUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput } @@ -27334,6 +28736,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput } @@ -28166,6 +29569,96 @@ export namespace Prisma { updatedBy?: NullableStringFieldUpdateOperationsInput | string | null } + export type memberChallengePointsCreateInput = { + id?: bigint | number + challengeId: string + challengeName: string + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + member: memberCreateNestedOneWithoutChallengePointsInput + } + + export type memberChallengePointsUncheckedCreateInput = { + id?: bigint | number + challengeId: string + challengeName: string + userId: bigint | number + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberChallengePointsUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + member?: memberUpdateOneRequiredWithoutChallengePointsNestedInput + } + + export type memberChallengePointsUncheckedUpdateInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + userId?: BigIntFieldUpdateOperationsInput | bigint | number + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsCreateManyInput = { + id?: bigint | number + challengeId: string + challengeName: string + userId: bigint | number + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberChallengePointsUpdateManyMutationInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsUncheckedUpdateManyInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + userId?: BigIntFieldUpdateOperationsInput | bigint | number + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + export type memberTraitsCreateInput = { id?: bigint | number subscriptions?: memberTraitsCreatesubscriptionsInput | string[] @@ -29383,6 +30876,12 @@ export namespace Prisma { none?: memberStatsHistoryWhereInput } + export type MemberChallengePointsListRelationFilter = { + every?: memberChallengePointsWhereInput + some?: memberChallengePointsWhereInput + none?: memberChallengePointsWhereInput + } + export type MemberTraitsNullableScalarRelationFilter = { is?: memberTraitsWhereInput | null isNot?: memberTraitsWhereInput | null @@ -29409,6 +30908,10 @@ export namespace Prisma { _count?: SortOrder } + export type memberChallengePointsOrderByRelationAggregateInput = { + _count?: SortOrder + } + export type memberCountOrderByAggregateInput = { userId?: SortOrder handle?: SortOrder @@ -30226,6 +31729,64 @@ export namespace Prisma { topTenFinishes?: SortOrder } + export type memberChallengePointsChallengeIdUserIdCompoundUniqueInput = { + challengeId: string + userId: bigint | number + } + + export type memberChallengePointsCountOrderByAggregateInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberChallengePointsAvgOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + } + + export type memberChallengePointsMaxOrderByAggregateInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberChallengePointsMinOrderByAggregateInput = { + id?: SortOrder + challengeId?: SortOrder + challengeName?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + createdAt?: SortOrder + createdBy?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type memberChallengePointsSumOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + placement?: SortOrder + points?: SortOrder + } + export type MemberTraitDeviceListRelationFilter = { every?: memberTraitDeviceWhereInput some?: memberTraitDeviceWhereInput @@ -30982,6 +32543,13 @@ export namespace Prisma { connect?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] } + export type memberChallengePointsCreateNestedManyWithoutMemberInput = { + create?: XOR | memberChallengePointsCreateWithoutMemberInput[] | memberChallengePointsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberChallengePointsCreateOrConnectWithoutMemberInput | memberChallengePointsCreateOrConnectWithoutMemberInput[] + createMany?: memberChallengePointsCreateManyMemberInputEnvelope + connect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + } + export type memberTraitsCreateNestedOneWithoutMemberInput = { create?: XOR connectOrCreate?: memberTraitsCreateOrConnectWithoutMemberInput @@ -31028,6 +32596,13 @@ export namespace Prisma { connect?: memberStatsHistoryWhereUniqueInput | memberStatsHistoryWhereUniqueInput[] } + export type memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput = { + create?: XOR | memberChallengePointsCreateWithoutMemberInput[] | memberChallengePointsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberChallengePointsCreateOrConnectWithoutMemberInput | memberChallengePointsCreateOrConnectWithoutMemberInput[] + createMany?: memberChallengePointsCreateManyMemberInputEnvelope + connect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + } + export type memberTraitsUncheckedCreateNestedOneWithoutMemberInput = { create?: XOR connectOrCreate?: memberTraitsCreateOrConnectWithoutMemberInput @@ -31171,6 +32746,20 @@ export namespace Prisma { deleteMany?: memberStatsHistoryScalarWhereInput | memberStatsHistoryScalarWhereInput[] } + export type memberChallengePointsUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberChallengePointsCreateWithoutMemberInput[] | memberChallengePointsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberChallengePointsCreateOrConnectWithoutMemberInput | memberChallengePointsCreateOrConnectWithoutMemberInput[] + upsert?: memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput | memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberChallengePointsCreateManyMemberInputEnvelope + set?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + disconnect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + delete?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + connect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + update?: memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput | memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberChallengePointsUpdateManyWithWhereWithoutMemberInput | memberChallengePointsUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberChallengePointsScalarWhereInput | memberChallengePointsScalarWhereInput[] + } + export type memberTraitsUpdateOneWithoutMemberNestedInput = { create?: XOR connectOrCreate?: memberTraitsCreateOrConnectWithoutMemberInput @@ -31257,6 +32846,20 @@ export namespace Prisma { deleteMany?: memberStatsHistoryScalarWhereInput | memberStatsHistoryScalarWhereInput[] } + export type memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput = { + create?: XOR | memberChallengePointsCreateWithoutMemberInput[] | memberChallengePointsUncheckedCreateWithoutMemberInput[] + connectOrCreate?: memberChallengePointsCreateOrConnectWithoutMemberInput | memberChallengePointsCreateOrConnectWithoutMemberInput[] + upsert?: memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput | memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput[] + createMany?: memberChallengePointsCreateManyMemberInputEnvelope + set?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + disconnect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + delete?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + connect?: memberChallengePointsWhereUniqueInput | memberChallengePointsWhereUniqueInput[] + update?: memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput | memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput[] + updateMany?: memberChallengePointsUpdateManyWithWhereWithoutMemberInput | memberChallengePointsUpdateManyWithWhereWithoutMemberInput[] + deleteMany?: memberChallengePointsScalarWhereInput | memberChallengePointsScalarWhereInput[] + } + export type memberTraitsUncheckedUpdateOneWithoutMemberNestedInput = { create?: XOR connectOrCreate?: memberTraitsCreateOrConnectWithoutMemberInput @@ -31375,6 +32978,20 @@ export namespace Prisma { update?: XOR, memberUncheckedUpdateWithoutMemberStatsInput> } + export type memberCreateNestedOneWithoutChallengePointsInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutChallengePointsInput + connect?: memberWhereUniqueInput + } + + export type memberUpdateOneRequiredWithoutChallengePointsNestedInput = { + create?: XOR + connectOrCreate?: memberCreateOrConnectWithoutChallengePointsInput + upsert?: memberUpsertWithoutChallengePointsInput + connect?: memberWhereUniqueInput + update?: XOR, memberUncheckedUpdateWithoutChallengePointsInput> + } + export type memberTraitsCreatesubscriptionsInput = { set: string[] } @@ -32661,6 +34278,40 @@ export namespace Prisma { skipDuplicates?: boolean } + export type memberChallengePointsCreateWithoutMemberInput = { + id?: bigint | number + challengeId: string + challengeName: string + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberChallengePointsUncheckedCreateWithoutMemberInput = { + id?: bigint | number + challengeId: string + challengeName: string + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + + export type memberChallengePointsCreateOrConnectWithoutMemberInput = { + where: memberChallengePointsWhereUniqueInput + create: XOR + } + + export type memberChallengePointsCreateManyMemberInputEnvelope = { + data: memberChallengePointsCreateManyMemberInput | memberChallengePointsCreateManyMemberInput[] + skipDuplicates?: boolean + } + export type memberTraitsCreateWithoutMemberInput = { id?: bigint | number subscriptions?: memberTraitsCreatesubscriptionsInput | string[] @@ -32926,6 +34577,38 @@ export namespace Prisma { updatedBy?: StringNullableFilter<"memberStatsHistory"> | string | null } + export type memberChallengePointsUpsertWithWhereUniqueWithoutMemberInput = { + where: memberChallengePointsWhereUniqueInput + update: XOR + create: XOR + } + + export type memberChallengePointsUpdateWithWhereUniqueWithoutMemberInput = { + where: memberChallengePointsWhereUniqueInput + data: XOR + } + + export type memberChallengePointsUpdateManyWithWhereWithoutMemberInput = { + where: memberChallengePointsScalarWhereInput + data: XOR + } + + export type memberChallengePointsScalarWhereInput = { + AND?: memberChallengePointsScalarWhereInput | memberChallengePointsScalarWhereInput[] + OR?: memberChallengePointsScalarWhereInput[] + NOT?: memberChallengePointsScalarWhereInput | memberChallengePointsScalarWhereInput[] + id?: BigIntFilter<"memberChallengePoints"> | bigint | number + challengeId?: StringFilter<"memberChallengePoints"> | string + challengeName?: StringFilter<"memberChallengePoints"> | string + userId?: BigIntFilter<"memberChallengePoints"> | bigint | number + placement?: IntFilter<"memberChallengePoints"> | number + points?: IntFilter<"memberChallengePoints"> | number + createdAt?: DateTimeFilter<"memberChallengePoints"> | Date | string + createdBy?: StringFilter<"memberChallengePoints"> | string + updatedAt?: DateTimeNullableFilter<"memberChallengePoints"> | Date | string | null + updatedBy?: StringNullableFilter<"memberChallengePoints"> | string | null + } + export type memberTraitsUpsertWithoutMemberInput = { update: XOR create: XOR @@ -33018,6 +34701,7 @@ export namespace Prisma { financial?: memberFinancialCreateNestedOneWithoutMemberInput memberStats?: memberStatsCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput } @@ -33062,6 +34746,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput } @@ -33122,6 +34807,7 @@ export namespace Prisma { financial?: memberFinancialUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput } @@ -33166,6 +34852,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput } @@ -33210,6 +34897,7 @@ export namespace Prisma { financial?: memberFinancialCreateNestedOneWithoutMemberInput memberStats?: memberStatsCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput } @@ -33254,6 +34942,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput } @@ -33314,6 +35003,7 @@ export namespace Prisma { financial?: memberFinancialUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput } @@ -33358,6 +35048,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput } @@ -33402,6 +35093,7 @@ export namespace Prisma { financial?: memberFinancialCreateNestedOneWithoutMemberInput memberStats?: memberStatsCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput } @@ -33446,6 +35138,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput } @@ -33506,6 +35199,7 @@ export namespace Prisma { financial?: memberFinancialUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput } @@ -33550,6 +35244,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput } @@ -33594,6 +35289,7 @@ export namespace Prisma { phones?: memberPhoneCreateNestedManyWithoutMemberInput memberStats?: memberStatsCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput } @@ -33638,6 +35334,7 @@ export namespace Prisma { phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput } @@ -33698,6 +35395,7 @@ export namespace Prisma { phones?: memberPhoneUpdateManyWithoutMemberNestedInput memberStats?: memberStatsUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput } @@ -33742,6 +35440,7 @@ export namespace Prisma { phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput } @@ -33786,6 +35485,7 @@ export namespace Prisma { phones?: memberPhoneCreateNestedManyWithoutMemberInput financial?: memberFinancialCreateNestedOneWithoutMemberInput memberStats?: memberStatsCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput } @@ -33830,6 +35530,7 @@ export namespace Prisma { phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput } @@ -33890,6 +35591,7 @@ export namespace Prisma { phones?: memberPhoneUpdateManyWithoutMemberNestedInput financial?: memberFinancialUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput } @@ -33934,6 +35636,7 @@ export namespace Prisma { phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput } @@ -33978,6 +35681,7 @@ export namespace Prisma { phones?: memberPhoneCreateNestedManyWithoutMemberInput financial?: memberFinancialCreateNestedOneWithoutMemberInput memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput } @@ -34022,6 +35726,7 @@ export namespace Prisma { phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput } @@ -34082,6 +35787,7 @@ export namespace Prisma { phones?: memberPhoneUpdateManyWithoutMemberNestedInput financial?: memberFinancialUpdateOneWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput } @@ -34126,6 +35832,203 @@ export namespace Prisma { phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput + } + + export type memberCreateWithoutChallengePointsInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingCreateNestedOneWithoutMemberInput + addresses?: memberAddressCreateNestedManyWithoutMemberInput + phones?: memberPhoneCreateNestedManyWithoutMemberInput + financial?: memberFinancialCreateNestedOneWithoutMemberInput + memberStats?: memberStatsCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsCreateNestedOneWithoutMemberInput + } + + export type memberUncheckedCreateWithoutChallengePointsInput = { + userId: bigint | number + handle: string + handleLower: string + email: string + verified?: boolean | null + skillScore?: number | null + memberRatingId?: bigint | number | null + firstName?: string | null + lastName?: string | null + description?: string | null + otherLangName?: string | null + status?: $Enums.MemberStatus | null + newEmail?: string | null + emailVerifyToken?: string | null + emailVerifyTokenDate?: Date | string | null + newEmailVerifyToken?: string | null + newEmailVerifyTokenDate?: Date | string | null + country?: string | null + homeCountryCode?: string | null + competitionCountryCode?: string | null + photoURL?: string | null + tracks?: memberCreatetracksInput | string[] + loginCount?: number | null + lastLoginDate?: Date | string | null + availableForGigs?: boolean | null + availableForGigsLastUpdateDate?: Date | string | null + lastProfileConfirmationDate?: Date | string | null + skillScoreDeduction?: number | null + namesAndHandleAppearance?: string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + maxRating?: memberMaxRatingUncheckedCreateNestedOneWithoutMemberInput + addresses?: memberAddressUncheckedCreateNestedManyWithoutMemberInput + phones?: memberPhoneUncheckedCreateNestedManyWithoutMemberInput + financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput + memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput + memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + memberTraits?: memberTraitsUncheckedCreateNestedOneWithoutMemberInput + } + + export type memberCreateOrConnectWithoutChallengePointsInput = { + where: memberWhereUniqueInput + create: XOR + } + + export type memberUpsertWithoutChallengePointsInput = { + update: XOR + create: XOR + where?: memberWhereInput + } + + export type memberUpdateToOneWithWhereWithoutChallengePointsInput = { + where?: memberWhereInput + data: XOR + } + + export type memberUpdateWithoutChallengePointsInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + memberTraits?: memberTraitsUpdateOneWithoutMemberNestedInput + } + + export type memberUncheckedUpdateWithoutChallengePointsInput = { + userId?: BigIntFieldUpdateOperationsInput | bigint | number + handle?: StringFieldUpdateOperationsInput | string + handleLower?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + verified?: NullableBoolFieldUpdateOperationsInput | boolean | null + skillScore?: NullableFloatFieldUpdateOperationsInput | number | null + memberRatingId?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + otherLangName?: NullableStringFieldUpdateOperationsInput | string | null + status?: NullableEnumMemberStatusFieldUpdateOperationsInput | $Enums.MemberStatus | null + newEmail?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + emailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + newEmailVerifyToken?: NullableStringFieldUpdateOperationsInput | string | null + newEmailVerifyTokenDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + country?: NullableStringFieldUpdateOperationsInput | string | null + homeCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + competitionCountryCode?: NullableStringFieldUpdateOperationsInput | string | null + photoURL?: NullableStringFieldUpdateOperationsInput | string | null + tracks?: memberUpdatetracksInput | string[] + loginCount?: NullableIntFieldUpdateOperationsInput | number | null + lastLoginDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + availableForGigs?: NullableBoolFieldUpdateOperationsInput | boolean | null + availableForGigsLastUpdateDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + lastProfileConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + skillScoreDeduction?: NullableFloatFieldUpdateOperationsInput | number | null + namesAndHandleAppearance?: NullableStringFieldUpdateOperationsInput | string | null + aggregatedSkills?: NullableJsonNullValueInput | InputJsonValue + enteredSkills?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + maxRating?: memberMaxRatingUncheckedUpdateOneWithoutMemberNestedInput + addresses?: memberAddressUncheckedUpdateManyWithoutMemberNestedInput + phones?: memberPhoneUncheckedUpdateManyWithoutMemberNestedInput + financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput + memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput + memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput memberTraits?: memberTraitsUncheckedUpdateOneWithoutMemberNestedInput } @@ -34519,6 +36422,7 @@ export namespace Prisma { financial?: memberFinancialCreateNestedOneWithoutMemberInput memberStats?: memberStatsCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsCreateNestedManyWithoutMemberInput } export type memberUncheckedCreateWithoutMemberTraitsInput = { @@ -34563,6 +36467,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedCreateNestedOneWithoutMemberInput memberStats?: memberStatsUncheckedCreateNestedManyWithoutMemberInput memberStatsHistory?: memberStatsHistoryUncheckedCreateNestedManyWithoutMemberInput + challengePoints?: memberChallengePointsUncheckedCreateNestedManyWithoutMemberInput } export type memberCreateOrConnectWithoutMemberTraitsInput = { @@ -34947,6 +36852,7 @@ export namespace Prisma { financial?: memberFinancialUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUpdateManyWithoutMemberNestedInput } export type memberUncheckedUpdateWithoutMemberTraitsInput = { @@ -34991,6 +36897,7 @@ export namespace Prisma { financial?: memberFinancialUncheckedUpdateOneWithoutMemberNestedInput memberStats?: memberStatsUncheckedUpdateManyWithoutMemberNestedInput memberStatsHistory?: memberStatsHistoryUncheckedUpdateManyWithoutMemberNestedInput + challengePoints?: memberChallengePointsUncheckedUpdateManyWithoutMemberNestedInput } export type memberTraitsCreateWithoutDeviceInput = { @@ -36029,6 +37936,18 @@ export namespace Prisma { updatedBy?: string | null } + export type memberChallengePointsCreateManyMemberInput = { + id?: bigint | number + challengeId: string + challengeName: string + placement: number + points: number + createdAt?: Date | string + createdBy: string + updatedAt?: Date | string | null + updatedBy?: string | null + } + export type memberAddressUpdateWithoutMemberInput = { id?: BigIntFieldUpdateOperationsInput | bigint | number streetAddr1?: NullableStringFieldUpdateOperationsInput | string | null @@ -36257,6 +38176,42 @@ export namespace Prisma { updatedBy?: NullableStringFieldUpdateOperationsInput | string | null } + export type memberChallengePointsUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsUncheckedUpdateWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type memberChallengePointsUncheckedUpdateManyWithoutMemberInput = { + id?: BigIntFieldUpdateOperationsInput | bigint | number + challengeId?: StringFieldUpdateOperationsInput | string + challengeName?: StringFieldUpdateOperationsInput | string + placement?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdBy?: StringFieldUpdateOperationsInput | string + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + export type memberTraitDeviceCreateManyMemberTraitsInput = { id?: bigint | number deviceType: $Enums.DeviceType diff --git a/prisma/generated/client/index.js b/prisma/generated/client/index.js index 51102f5..304208b 100644 --- a/prisma/generated/client/index.js +++ b/prisma/generated/client/index.js @@ -235,6 +235,19 @@ exports.Prisma.MemberStatsScalarFieldEnum = { updatedBy: 'updatedBy' }; +exports.Prisma.MemberChallengePointsScalarFieldEnum = { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + exports.Prisma.MemberTraitsScalarFieldEnum = { id: 'id', userId: 'userId', @@ -469,6 +482,7 @@ exports.Prisma.ModelName = { memberFinancial: 'memberFinancial', memberStatsHistory: 'memberStatsHistory', memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', memberTraits: 'memberTraits', memberTraitDevice: 'memberTraitDevice', memberTraitSoftware: 'memberTraitSoftware', @@ -528,8 +542,8 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n // Generate a package-scoped client to avoid monorepo conflicts\n output = \"./generated/client\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n schemas = [\"members\"]\n}\n\nenum MemberStatus {\n UNVERIFIED\n ACTIVE\n INACTIVE_USER_REQUEST\n INACTIVE_DUPLICATE_ACCOUNT\n INACTIVE_IRREGULAR_ACCOUNT\n UNKNOWN\n\n @@schema(\"members\")\n}\n\nenum FinancialStatus {\n PENDING\n PAID\n FAILED\n CANCELLED\n\n @@schema(\"members\")\n}\n\nmodel member {\n userId BigInt @id\n handle String\n handleLower String @unique\n email String @unique\n verified Boolean?\n skillScore Float?\n memberRatingId BigInt?\n maxRating memberMaxRating?\n firstName String?\n lastName String?\n description String?\n otherLangName String?\n status MemberStatus?\n newEmail String?\n emailVerifyToken String?\n emailVerifyTokenDate DateTime?\n newEmailVerifyToken String?\n newEmailVerifyTokenDate DateTime?\n addresses memberAddress[]\n phones memberPhone[]\n\n country String?\n homeCountryCode String?\n competitionCountryCode String?\n photoURL String?\n tracks String[]\n loginCount Int?\n lastLoginDate DateTime?\n availableForGigs Boolean?\n availableForGigsLastUpdateDate DateTime?\n lastProfileConfirmationDate DateTime?\n skillScoreDeduction Float?\n namesAndHandleAppearance String?\n aggregatedSkills Json?\n enteredSkills Json?\n\n financial memberFinancial?\n memberStats memberStats[]\n memberStatsHistory memberStatsHistory[]\n memberTraits memberTraits?\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([handleLower])\n @@index([email])\n @@index([status, handleLower])\n @@index([lastLoginDate])\n @@index([availableForGigs])\n @@index([status, availableForGigs])\n @@index([homeCountryCode], map: \"idx_member_home_country_code\")\n @@index([competitionCountryCode], map: \"idx_member_competition_country_code\")\n @@schema(\"members\")\n}\n\nmodel memberAddress {\n id BigInt @id @default(autoincrement())\n userId BigInt\n streetAddr1 String?\n streetAddr2 String?\n city String?\n zip String?\n stateCode String?\n type String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, type])\n @@index([userId, type, id(sort: Desc)], map: \"idx_member_address_user_type\")\n @@schema(\"members\")\n}\n\nmodel memberPhone {\n id String @id @default(uuid())\n userId BigInt\n type String\n number String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, number])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberMaxRating {\n id BigInt @id @default(autoincrement())\n userId BigInt\n rating Int\n track String?\n subTrack String?\n ratingColor String\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberFinancial {\n userId BigInt @id\n amount Float\n status FinancialStatus\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@schema(\"members\")\n}\n\nmodel memberStatsHistory {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String\n typeId String\n challengeId String\n mostRecent Boolean @default(false)\n oldRating Int?\n newRating Int?\n placement Int?\n percentile Float?\n oldVolatility Int?\n newVolatility Int?\n oldGlobalRank Int?\n newGlobalRank Int?\n oldCountryRank Int?\n newCountryRank Int?\n oldSchoolRank Int?\n newSchoolRank Int?\n eventDate DateTime\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, trackId, typeId])\n @@index([userId, trackId, typeId, mostRecent])\n @@index([challengeId])\n @@index([eventDate])\n @@schema(\"members\")\n}\n\nmodel memberStats {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String?\n typeId String?\n challenges Int?\n wins Int?\n mostRecentSubmission DateTime?\n mostRecentEventDate DateTime?\n rating Int?\n avgRank Float?\n avgNumSubmissions Int?\n bestRank Int?\n globalRank Int?\n countryRank Int?\n schoolRank Int?\n volatility Int?\n maxRating Int?\n minRating Int?\n topFiveFinishes Int?\n topTenFinishes Int?\n isPrivate Boolean @default(false)\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, trackId, typeId])\n @@index([userId])\n @@index([trackId])\n @@index([typeId])\n @@index([trackId, typeId, rating])\n @@index([userId, trackId, typeId])\n @@index([globalRank])\n @@index([countryRank])\n @@index([schoolRank])\n @@schema(\"members\")\n}\n\nmodel memberTraits {\n id BigInt @id @default(autoincrement())\n userId BigInt\n\n device memberTraitDevice[]\n software memberTraitSoftware[]\n serviceProvider memberTraitServiceProvider[]\n subscriptions String[]\n hobby String[]\n work memberTraitWork[]\n education memberTraitEducation[]\n basicInfo memberTraitBasicInfo[]\n language memberTraitLanguage[]\n checklist memberTraitOnboardChecklist[]\n personalization memberTraitPersonalization[]\n community memberTraitCommunity[]\n\n member member @relation(fields: [userId], references: [userId])\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nenum DeviceType {\n Console\n Desktop\n Laptop\n Smartphone\n Tablet\n Wearable\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitDevice {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n deviceType DeviceType\n manufacturer String\n model String\n operatingSystem String\n osVersion String?\n osLanguage String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum SoftwareType {\n DeveloperTools\n Browser\n Productivity\n GraphAndDesign\n Utilities\n\n @@schema(\"members\")\n}\n\nmodel memberTraitSoftware {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n softwareType SoftwareType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum ServiceProviderType {\n InternetServiceProvider\n MobileCarrier\n Television\n FinancialInstitution\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitServiceProvider {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n type ServiceProviderType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum WorkIndustryType {\n Banking\n ConsumerGoods\n Energy\n Entertainment\n HealthCare\n Pharma\n PublicSector\n TechAndTechnologyService\n Telecoms\n TravelAndHospitality\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitWork {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n industry WorkIndustryType?\n otherIndustry String?\n companyName String\n position String\n startDate DateTime?\n endDate DateTime?\n working Boolean?\n description String?\n associatedSkills String[]\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitEducation {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n collegeName String\n degree String\n endYear Int?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitBasicInfo {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n userId BigInt\n country String\n primaryInterestInTopcoder String\n tshirtSize String?\n gender String?\n shortBio String\n birthDate DateTime?\n currentLocation String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([memberTraitId])\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitLanguage {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n language String\n spokenLevel String?\n writtenLevel String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\n// This model is used to send messages when user login. When profile not complete, it will show up.\nmodel memberTraitOnboardChecklist {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n listItemType String // Like 'profile_completed'\n date DateTime\n message String\n status String\n skip Boolean?\n metadata Json?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitPersonalization {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n key String?\n value Json?\n private Boolean @default(false)\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@index([memberTraitId, key], map: \"memberTraitPersonalization_memberTraitId_key_idx\")\n @@schema(\"members\")\n}\n\nmodel memberTraitCommunity {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n communityName String\n status Boolean\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n", - "inlineSchemaHash": "985c78a8a3a56916b214a673823f1ae15804d0ba22c84f4692c28668dbc99388", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n // Generate a package-scoped client to avoid monorepo conflicts\n output = \"./generated/client\"\n}\n\ngenerator externalClient {\n provider = \"prisma-client-js\"\n output = \"../packages/member-prisma-client\"\n binaryTargets = [\"native\", \"debian-openssl-3.0.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n schemas = [\"members\"]\n}\n\nenum MemberStatus {\n UNVERIFIED\n ACTIVE\n INACTIVE_USER_REQUEST\n INACTIVE_DUPLICATE_ACCOUNT\n INACTIVE_IRREGULAR_ACCOUNT\n UNKNOWN\n\n @@schema(\"members\")\n}\n\nenum FinancialStatus {\n PENDING\n PAID\n FAILED\n CANCELLED\n\n @@schema(\"members\")\n}\n\nmodel member {\n userId BigInt @id\n handle String\n handleLower String @unique\n email String @unique\n verified Boolean?\n skillScore Float?\n memberRatingId BigInt?\n maxRating memberMaxRating?\n firstName String?\n lastName String?\n description String?\n otherLangName String?\n status MemberStatus?\n newEmail String?\n emailVerifyToken String?\n emailVerifyTokenDate DateTime?\n newEmailVerifyToken String?\n newEmailVerifyTokenDate DateTime?\n addresses memberAddress[]\n phones memberPhone[]\n\n country String?\n homeCountryCode String?\n competitionCountryCode String?\n photoURL String?\n tracks String[]\n loginCount Int?\n lastLoginDate DateTime?\n availableForGigs Boolean?\n availableForGigsLastUpdateDate DateTime?\n lastProfileConfirmationDate DateTime?\n skillScoreDeduction Float?\n namesAndHandleAppearance String?\n aggregatedSkills Json?\n enteredSkills Json?\n\n financial memberFinancial?\n memberStats memberStats[]\n memberStatsHistory memberStatsHistory[]\n challengePoints memberChallengePoints[]\n memberTraits memberTraits?\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([handleLower])\n @@index([email])\n @@index([status, handleLower])\n @@index([lastLoginDate])\n @@index([availableForGigs])\n @@index([status, availableForGigs])\n @@index([homeCountryCode], map: \"idx_member_home_country_code\")\n @@index([competitionCountryCode], map: \"idx_member_competition_country_code\")\n @@schema(\"members\")\n}\n\nmodel memberAddress {\n id BigInt @id @default(autoincrement())\n userId BigInt\n streetAddr1 String?\n streetAddr2 String?\n city String?\n zip String?\n stateCode String?\n type String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, type])\n @@index([userId, type, id(sort: Desc)], map: \"idx_member_address_user_type\")\n @@schema(\"members\")\n}\n\nmodel memberPhone {\n id String @id @default(uuid())\n userId BigInt\n type String\n number String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, number])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberMaxRating {\n id BigInt @id @default(autoincrement())\n userId BigInt\n rating Int\n track String?\n subTrack String?\n ratingColor String\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberFinancial {\n userId BigInt @id\n amount Float\n status FinancialStatus\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@schema(\"members\")\n}\n\nmodel memberStatsHistory {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String\n typeId String\n challengeId String\n mostRecent Boolean @default(false)\n oldRating Int?\n newRating Int?\n placement Int?\n percentile Float?\n oldVolatility Int?\n newVolatility Int?\n oldGlobalRank Int?\n newGlobalRank Int?\n oldCountryRank Int?\n newCountryRank Int?\n oldSchoolRank Int?\n newSchoolRank Int?\n eventDate DateTime\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, trackId, typeId])\n @@index([userId, trackId, typeId, mostRecent])\n @@index([challengeId])\n @@index([eventDate])\n @@schema(\"members\")\n}\n\nmodel memberStats {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String?\n typeId String?\n challenges Int?\n wins Int?\n mostRecentSubmission DateTime?\n mostRecentEventDate DateTime?\n rating Int?\n avgRank Float?\n avgNumSubmissions Int?\n bestRank Int?\n globalRank Int?\n countryRank Int?\n schoolRank Int?\n volatility Int?\n maxRating Int?\n minRating Int?\n topFiveFinishes Int?\n topTenFinishes Int?\n isPrivate Boolean @default(false)\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, trackId, typeId])\n @@index([userId])\n @@index([trackId])\n @@index([typeId])\n @@index([trackId, typeId, rating])\n @@index([userId, trackId, typeId])\n @@index([globalRank])\n @@index([countryRank])\n @@index([schoolRank])\n @@schema(\"members\")\n}\n\nmodel memberChallengePoints {\n id BigInt @id @default(autoincrement())\n challengeId String\n challengeName String\n userId BigInt\n placement Int\n points Int\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([challengeId, userId])\n @@index([userId])\n @@index([challengeId])\n @@schema(\"members\")\n}\n\nmodel memberTraits {\n id BigInt @id @default(autoincrement())\n userId BigInt\n\n device memberTraitDevice[]\n software memberTraitSoftware[]\n serviceProvider memberTraitServiceProvider[]\n subscriptions String[]\n hobby String[]\n work memberTraitWork[]\n education memberTraitEducation[]\n basicInfo memberTraitBasicInfo[]\n language memberTraitLanguage[]\n checklist memberTraitOnboardChecklist[]\n personalization memberTraitPersonalization[]\n community memberTraitCommunity[]\n\n member member @relation(fields: [userId], references: [userId])\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nenum DeviceType {\n Console\n Desktop\n Laptop\n Smartphone\n Tablet\n Wearable\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitDevice {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n deviceType DeviceType\n manufacturer String\n model String\n operatingSystem String\n osVersion String?\n osLanguage String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum SoftwareType {\n DeveloperTools\n Browser\n Productivity\n GraphAndDesign\n Utilities\n\n @@schema(\"members\")\n}\n\nmodel memberTraitSoftware {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n softwareType SoftwareType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum ServiceProviderType {\n InternetServiceProvider\n MobileCarrier\n Television\n FinancialInstitution\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitServiceProvider {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n type ServiceProviderType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum WorkIndustryType {\n Banking\n ConsumerGoods\n Energy\n Entertainment\n HealthCare\n Pharma\n PublicSector\n TechAndTechnologyService\n Telecoms\n TravelAndHospitality\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitWork {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n industry WorkIndustryType?\n otherIndustry String?\n companyName String\n position String\n startDate DateTime?\n endDate DateTime?\n working Boolean?\n description String?\n associatedSkills String[]\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitEducation {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n collegeName String\n degree String\n endYear Int?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitBasicInfo {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n userId BigInt\n country String\n primaryInterestInTopcoder String\n tshirtSize String?\n gender String?\n shortBio String\n birthDate DateTime?\n currentLocation String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([memberTraitId])\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitLanguage {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n language String\n spokenLevel String?\n writtenLevel String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\n// This model is used to send messages when user login. When profile not complete, it will show up.\nmodel memberTraitOnboardChecklist {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n listItemType String // Like 'profile_completed'\n date DateTime\n message String\n status String\n skip Boolean?\n metadata Json?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitPersonalization {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n key String?\n value Json?\n private Boolean @default(false)\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@index([memberTraitId, key], map: \"memberTraitPersonalization_memberTraitId_key_idx\")\n @@schema(\"members\")\n}\n\nmodel memberTraitCommunity {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n communityName String\n status Boolean\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n", + "inlineSchemaHash": "72fac5e8a2fbcbc76562b3d93f6fe69b84080bdea52b075498a06a85d0e8524b", "copyEngine": true } @@ -550,7 +564,7 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { config.isBundled = true } -config.runtimeDataModel = JSON.parse("{\"models\":{\"member\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handle\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handleLower\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberRatingId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberMaxRating\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherLangName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MemberStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberAddress\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phones\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberPhone\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"competitionCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"photoURL\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tracks\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"loginCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLoginDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigsLastUpdateDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProfileConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScoreDeduction\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"namesAndHandleAppearance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aggregatedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enteredSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"financial\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberFinancial\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStats\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStats\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStatsHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStatsHistory\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberAddress\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr1\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr2\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stateCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberPhone\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"number\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"number\"]}],\"isGenerated\":false},\"memberMaxRating\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"track\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subTrack\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ratingColor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberFinancial\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FinancialStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStatsHistory\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"percentile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStats\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challenges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wins\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentSubmission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentEventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgNumSubmissions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"globalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"countryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topFiveFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topTenFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"trackId\",\"typeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"trackId\",\"typeId\"]}],\"isGenerated\":false},\"memberTraits\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"device\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitDevice\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"software\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitSoftware\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serviceProvider\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitServiceProvider\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptions\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hobby\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"work\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitWork\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"education\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitEducation\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basicInfo\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitBasicInfo\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitLanguage\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"checklist\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitOnboardChecklist\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"personalization\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitPersonalization\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"community\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitCommunity\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberTraitDevice\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DeviceType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatingSystem\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osLanguage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitSoftware\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"softwareType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SoftwareType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitServiceProvider\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServiceProviderType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitWork\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"industry\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WorkIndustryType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherIndustry\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"working\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"associatedSkills\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitEducation\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collegeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"degree\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endYear\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitBasicInfo\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"primaryInterestInTopcoder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tshirtSize\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"shortBio\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"memberTraitId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"memberTraitId\"]}],\"isGenerated\":false},\"memberTraitLanguage\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"spokenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"writtenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitOnboardChecklist\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"listItemType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitPersonalization\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"private\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitCommunity\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"communityName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"MemberStatus\":{\"values\":[{\"name\":\"UNVERIFIED\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"INACTIVE_USER_REQUEST\",\"dbName\":null},{\"name\":\"INACTIVE_DUPLICATE_ACCOUNT\",\"dbName\":null},{\"name\":\"INACTIVE_IRREGULAR_ACCOUNT\",\"dbName\":null},{\"name\":\"UNKNOWN\",\"dbName\":null}],\"dbName\":null},\"FinancialStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"PAID\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null}],\"dbName\":null},\"DeviceType\":{\"values\":[{\"name\":\"Console\",\"dbName\":null},{\"name\":\"Desktop\",\"dbName\":null},{\"name\":\"Laptop\",\"dbName\":null},{\"name\":\"Smartphone\",\"dbName\":null},{\"name\":\"Tablet\",\"dbName\":null},{\"name\":\"Wearable\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"SoftwareType\":{\"values\":[{\"name\":\"DeveloperTools\",\"dbName\":null},{\"name\":\"Browser\",\"dbName\":null},{\"name\":\"Productivity\",\"dbName\":null},{\"name\":\"GraphAndDesign\",\"dbName\":null},{\"name\":\"Utilities\",\"dbName\":null}],\"dbName\":null},\"ServiceProviderType\":{\"values\":[{\"name\":\"InternetServiceProvider\",\"dbName\":null},{\"name\":\"MobileCarrier\",\"dbName\":null},{\"name\":\"Television\",\"dbName\":null},{\"name\":\"FinancialInstitution\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"WorkIndustryType\":{\"values\":[{\"name\":\"Banking\",\"dbName\":null},{\"name\":\"ConsumerGoods\",\"dbName\":null},{\"name\":\"Energy\",\"dbName\":null},{\"name\":\"Entertainment\",\"dbName\":null},{\"name\":\"HealthCare\",\"dbName\":null},{\"name\":\"Pharma\",\"dbName\":null},{\"name\":\"PublicSector\",\"dbName\":null},{\"name\":\"TechAndTechnologyService\",\"dbName\":null},{\"name\":\"Telecoms\",\"dbName\":null},{\"name\":\"TravelAndHospitality\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"member\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handle\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"handleLower\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"verified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberRatingId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberMaxRating\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherLangName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MemberStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newEmailVerifyTokenDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberAddress\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phones\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberPhone\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"competitionCountryCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"photoURL\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tracks\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"loginCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLoginDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"availableForGigsLastUpdateDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastProfileConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScoreDeduction\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"namesAndHandleAppearance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aggregatedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enteredSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"financial\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberFinancial\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStats\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStats\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberStatsHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberStatsHistory\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengePoints\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberChallengePoints\",\"nativeType\":null,\"relationName\":\"memberTomemberChallengePoints\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberAddress\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr1\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"streetAddr2\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stateCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberAddress\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberPhone\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberPhone\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"number\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"number\"]}],\"isGenerated\":false},\"memberMaxRating\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"track\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subTrack\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ratingColor\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberMaxRating\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberFinancial\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FinancialStatus\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberFinancial\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStatsHistory\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"percentile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newVolatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newGlobalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newCountryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oldSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newSchoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStatsHistory\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberStats\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trackId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"typeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challenges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wins\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentSubmission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mostRecentEventDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avgNumSubmissions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"globalRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"countryRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schoolRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"volatility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minRating\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topFiveFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"topTenFinishes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberStats\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"trackId\",\"typeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"trackId\",\"typeId\"]}],\"isGenerated\":false},\"memberChallengePoints\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"challengeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"placement\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"points\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberChallengePoints\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"challengeId\",\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"challengeId\",\"userId\"]}],\"isGenerated\":false},\"memberTraits\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"device\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitDevice\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"software\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitSoftware\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serviceProvider\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitServiceProvider\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptions\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hobby\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"work\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitWork\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"education\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitEducation\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basicInfo\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitBasicInfo\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitLanguage\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"checklist\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitOnboardChecklist\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"personalization\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitPersonalization\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"community\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraitCommunity\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"member\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"member\",\"nativeType\":null,\"relationName\":\"memberTomemberTraits\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"userId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\"]}],\"isGenerated\":false},\"memberTraitDevice\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DeviceType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatingSystem\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osLanguage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitDeviceTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitSoftware\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"softwareType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SoftwareType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitSoftwareTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitServiceProvider\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServiceProviderType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitServiceProviderTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitWork\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"industry\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WorkIndustryType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"otherIndustry\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"working\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"associatedSkills\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitWorkTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitEducation\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collegeName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"degree\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endYear\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitEducationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitBasicInfo\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"primaryInterestInTopcoder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tshirtSize\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gender\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"shortBio\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitBasicInfoTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"memberTraitId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"memberTraitId\"]}],\"isGenerated\":false},\"memberTraitLanguage\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"language\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"spokenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"writtenLevel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitLanguageTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitOnboardChecklist\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"listItemType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skip\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitPersonalization\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"private\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitPersonalizationTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"memberTraitCommunity\":{\"dbName\":null,\"schema\":\"members\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BigInt\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"communityName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memberTraits\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"memberTraits\",\"nativeType\":null,\"relationName\":\"memberTraitCommunityTomemberTraits\",\"relationFromFields\":[\"memberTraitId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"MemberStatus\":{\"values\":[{\"name\":\"UNVERIFIED\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"INACTIVE_USER_REQUEST\",\"dbName\":null},{\"name\":\"INACTIVE_DUPLICATE_ACCOUNT\",\"dbName\":null},{\"name\":\"INACTIVE_IRREGULAR_ACCOUNT\",\"dbName\":null},{\"name\":\"UNKNOWN\",\"dbName\":null}],\"dbName\":null},\"FinancialStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"PAID\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null}],\"dbName\":null},\"DeviceType\":{\"values\":[{\"name\":\"Console\",\"dbName\":null},{\"name\":\"Desktop\",\"dbName\":null},{\"name\":\"Laptop\",\"dbName\":null},{\"name\":\"Smartphone\",\"dbName\":null},{\"name\":\"Tablet\",\"dbName\":null},{\"name\":\"Wearable\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"SoftwareType\":{\"values\":[{\"name\":\"DeveloperTools\",\"dbName\":null},{\"name\":\"Browser\",\"dbName\":null},{\"name\":\"Productivity\",\"dbName\":null},{\"name\":\"GraphAndDesign\",\"dbName\":null},{\"name\":\"Utilities\",\"dbName\":null}],\"dbName\":null},\"ServiceProviderType\":{\"values\":[{\"name\":\"InternetServiceProvider\",\"dbName\":null},{\"name\":\"MobileCarrier\",\"dbName\":null},{\"name\":\"Television\",\"dbName\":null},{\"name\":\"FinancialInstitution\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null},\"WorkIndustryType\":{\"values\":[{\"name\":\"Banking\",\"dbName\":null},{\"name\":\"ConsumerGoods\",\"dbName\":null},{\"name\":\"Energy\",\"dbName\":null},{\"name\":\"Entertainment\",\"dbName\":null},{\"name\":\"HealthCare\",\"dbName\":null},{\"name\":\"Pharma\",\"dbName\":null},{\"name\":\"PublicSector\",\"dbName\":null},{\"name\":\"TechAndTechnologyService\",\"dbName\":null},{\"name\":\"Telecoms\",\"dbName\":null},{\"name\":\"TravelAndHospitality\",\"dbName\":null},{\"name\":\"Other\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined diff --git a/prisma/generated/client/package.json b/prisma/generated/client/package.json index 597d414..aa79070 100644 --- a/prisma/generated/client/package.json +++ b/prisma/generated/client/package.json @@ -1,5 +1,5 @@ { - "name": "prisma-client-f1b9f55e0f69a81d9e5ca0deb2bb30212c0c6f06b18ecff47b520d68f5a5b76f", + "name": "prisma-client-68ac9ef07814b0c2854f848cd1ea56713cfac6125482b190293d2df2231f92d1", "main": "index.js", "types": "index.d.ts", "browser": "default.js", diff --git a/prisma/generated/client/schema.prisma b/prisma/generated/client/schema.prisma index 9d60b4b..6520c7d 100644 --- a/prisma/generated/client/schema.prisma +++ b/prisma/generated/client/schema.prisma @@ -4,6 +4,12 @@ generator client { output = "./generated/client" } +generator externalClient { + provider = "prisma-client-js" + output = "../packages/member-prisma-client" + binaryTargets = ["native", "debian-openssl-3.0.x"] +} + datasource db { provider = "postgresql" url = env("DATABASE_URL") @@ -70,6 +76,7 @@ model member { financial memberFinancial? memberStats memberStats[] memberStatsHistory memberStatsHistory[] + challengePoints memberChallengePoints[] memberTraits memberTraits? createdAt DateTime @default(now()) @@ -242,6 +249,27 @@ model memberStats { @@schema("members") } +model memberChallengePoints { + id BigInt @id @default(autoincrement()) + challengeId String + challengeName String + userId BigInt + placement Int + points Int + + member member @relation(fields: [userId], references: [userId], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@unique([challengeId, userId]) + @@index([userId]) + @@index([challengeId]) + @@schema("members") +} + model memberTraits { id BigInt @id @default(autoincrement()) userId BigInt diff --git a/prisma/generated/client/wasm.js b/prisma/generated/client/wasm.js index e65bf7f..fad9e98 100644 --- a/prisma/generated/client/wasm.js +++ b/prisma/generated/client/wasm.js @@ -234,6 +234,19 @@ exports.Prisma.MemberStatsScalarFieldEnum = { updatedBy: 'updatedBy' }; +exports.Prisma.MemberChallengePointsScalarFieldEnum = { + id: 'id', + challengeId: 'challengeId', + challengeName: 'challengeName', + userId: 'userId', + placement: 'placement', + points: 'points', + createdAt: 'createdAt', + createdBy: 'createdBy', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + exports.Prisma.MemberTraitsScalarFieldEnum = { id: 'id', userId: 'userId', @@ -468,6 +481,7 @@ exports.Prisma.ModelName = { memberFinancial: 'memberFinancial', memberStatsHistory: 'memberStatsHistory', memberStats: 'memberStats', + memberChallengePoints: 'memberChallengePoints', memberTraits: 'memberTraits', memberTraitDevice: 'memberTraitDevice', memberTraitSoftware: 'memberTraitSoftware', @@ -527,13 +541,13 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n // Generate a package-scoped client to avoid monorepo conflicts\n output = \"./generated/client\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n schemas = [\"members\"]\n}\n\nenum MemberStatus {\n UNVERIFIED\n ACTIVE\n INACTIVE_USER_REQUEST\n INACTIVE_DUPLICATE_ACCOUNT\n INACTIVE_IRREGULAR_ACCOUNT\n UNKNOWN\n\n @@schema(\"members\")\n}\n\nenum FinancialStatus {\n PENDING\n PAID\n FAILED\n CANCELLED\n\n @@schema(\"members\")\n}\n\nmodel member {\n userId BigInt @id\n handle String\n handleLower String @unique\n email String @unique\n verified Boolean?\n skillScore Float?\n memberRatingId BigInt?\n maxRating memberMaxRating?\n firstName String?\n lastName String?\n description String?\n otherLangName String?\n status MemberStatus?\n newEmail String?\n emailVerifyToken String?\n emailVerifyTokenDate DateTime?\n newEmailVerifyToken String?\n newEmailVerifyTokenDate DateTime?\n addresses memberAddress[]\n phones memberPhone[]\n\n country String?\n homeCountryCode String?\n competitionCountryCode String?\n photoURL String?\n tracks String[]\n loginCount Int?\n lastLoginDate DateTime?\n availableForGigs Boolean?\n availableForGigsLastUpdateDate DateTime?\n lastProfileConfirmationDate DateTime?\n skillScoreDeduction Float?\n namesAndHandleAppearance String?\n aggregatedSkills Json?\n enteredSkills Json?\n\n financial memberFinancial?\n memberStats memberStats[]\n memberStatsHistory memberStatsHistory[]\n memberTraits memberTraits?\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([handleLower])\n @@index([email])\n @@index([status, handleLower])\n @@index([lastLoginDate])\n @@index([availableForGigs])\n @@index([status, availableForGigs])\n @@index([homeCountryCode], map: \"idx_member_home_country_code\")\n @@index([competitionCountryCode], map: \"idx_member_competition_country_code\")\n @@schema(\"members\")\n}\n\nmodel memberAddress {\n id BigInt @id @default(autoincrement())\n userId BigInt\n streetAddr1 String?\n streetAddr2 String?\n city String?\n zip String?\n stateCode String?\n type String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, type])\n @@index([userId, type, id(sort: Desc)], map: \"idx_member_address_user_type\")\n @@schema(\"members\")\n}\n\nmodel memberPhone {\n id String @id @default(uuid())\n userId BigInt\n type String\n number String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, number])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberMaxRating {\n id BigInt @id @default(autoincrement())\n userId BigInt\n rating Int\n track String?\n subTrack String?\n ratingColor String\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberFinancial {\n userId BigInt @id\n amount Float\n status FinancialStatus\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@schema(\"members\")\n}\n\nmodel memberStatsHistory {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String\n typeId String\n challengeId String\n mostRecent Boolean @default(false)\n oldRating Int?\n newRating Int?\n placement Int?\n percentile Float?\n oldVolatility Int?\n newVolatility Int?\n oldGlobalRank Int?\n newGlobalRank Int?\n oldCountryRank Int?\n newCountryRank Int?\n oldSchoolRank Int?\n newSchoolRank Int?\n eventDate DateTime\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, trackId, typeId])\n @@index([userId, trackId, typeId, mostRecent])\n @@index([challengeId])\n @@index([eventDate])\n @@schema(\"members\")\n}\n\nmodel memberStats {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String?\n typeId String?\n challenges Int?\n wins Int?\n mostRecentSubmission DateTime?\n mostRecentEventDate DateTime?\n rating Int?\n avgRank Float?\n avgNumSubmissions Int?\n bestRank Int?\n globalRank Int?\n countryRank Int?\n schoolRank Int?\n volatility Int?\n maxRating Int?\n minRating Int?\n topFiveFinishes Int?\n topTenFinishes Int?\n isPrivate Boolean @default(false)\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, trackId, typeId])\n @@index([userId])\n @@index([trackId])\n @@index([typeId])\n @@index([trackId, typeId, rating])\n @@index([userId, trackId, typeId])\n @@index([globalRank])\n @@index([countryRank])\n @@index([schoolRank])\n @@schema(\"members\")\n}\n\nmodel memberTraits {\n id BigInt @id @default(autoincrement())\n userId BigInt\n\n device memberTraitDevice[]\n software memberTraitSoftware[]\n serviceProvider memberTraitServiceProvider[]\n subscriptions String[]\n hobby String[]\n work memberTraitWork[]\n education memberTraitEducation[]\n basicInfo memberTraitBasicInfo[]\n language memberTraitLanguage[]\n checklist memberTraitOnboardChecklist[]\n personalization memberTraitPersonalization[]\n community memberTraitCommunity[]\n\n member member @relation(fields: [userId], references: [userId])\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nenum DeviceType {\n Console\n Desktop\n Laptop\n Smartphone\n Tablet\n Wearable\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitDevice {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n deviceType DeviceType\n manufacturer String\n model String\n operatingSystem String\n osVersion String?\n osLanguage String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum SoftwareType {\n DeveloperTools\n Browser\n Productivity\n GraphAndDesign\n Utilities\n\n @@schema(\"members\")\n}\n\nmodel memberTraitSoftware {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n softwareType SoftwareType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum ServiceProviderType {\n InternetServiceProvider\n MobileCarrier\n Television\n FinancialInstitution\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitServiceProvider {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n type ServiceProviderType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum WorkIndustryType {\n Banking\n ConsumerGoods\n Energy\n Entertainment\n HealthCare\n Pharma\n PublicSector\n TechAndTechnologyService\n Telecoms\n TravelAndHospitality\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitWork {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n industry WorkIndustryType?\n otherIndustry String?\n companyName String\n position String\n startDate DateTime?\n endDate DateTime?\n working Boolean?\n description String?\n associatedSkills String[]\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitEducation {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n collegeName String\n degree String\n endYear Int?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitBasicInfo {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n userId BigInt\n country String\n primaryInterestInTopcoder String\n tshirtSize String?\n gender String?\n shortBio String\n birthDate DateTime?\n currentLocation String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([memberTraitId])\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitLanguage {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n language String\n spokenLevel String?\n writtenLevel String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\n// This model is used to send messages when user login. When profile not complete, it will show up.\nmodel memberTraitOnboardChecklist {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n listItemType String // Like 'profile_completed'\n date DateTime\n message String\n status String\n skip Boolean?\n metadata Json?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitPersonalization {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n key String?\n value Json?\n private Boolean @default(false)\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@index([memberTraitId, key], map: \"memberTraitPersonalization_memberTraitId_key_idx\")\n @@schema(\"members\")\n}\n\nmodel memberTraitCommunity {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n communityName String\n status Boolean\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n", - "inlineSchemaHash": "985c78a8a3a56916b214a673823f1ae15804d0ba22c84f4692c28668dbc99388", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n // Generate a package-scoped client to avoid monorepo conflicts\n output = \"./generated/client\"\n}\n\ngenerator externalClient {\n provider = \"prisma-client-js\"\n output = \"../packages/member-prisma-client\"\n binaryTargets = [\"native\", \"debian-openssl-3.0.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n schemas = [\"members\"]\n}\n\nenum MemberStatus {\n UNVERIFIED\n ACTIVE\n INACTIVE_USER_REQUEST\n INACTIVE_DUPLICATE_ACCOUNT\n INACTIVE_IRREGULAR_ACCOUNT\n UNKNOWN\n\n @@schema(\"members\")\n}\n\nenum FinancialStatus {\n PENDING\n PAID\n FAILED\n CANCELLED\n\n @@schema(\"members\")\n}\n\nmodel member {\n userId BigInt @id\n handle String\n handleLower String @unique\n email String @unique\n verified Boolean?\n skillScore Float?\n memberRatingId BigInt?\n maxRating memberMaxRating?\n firstName String?\n lastName String?\n description String?\n otherLangName String?\n status MemberStatus?\n newEmail String?\n emailVerifyToken String?\n emailVerifyTokenDate DateTime?\n newEmailVerifyToken String?\n newEmailVerifyTokenDate DateTime?\n addresses memberAddress[]\n phones memberPhone[]\n\n country String?\n homeCountryCode String?\n competitionCountryCode String?\n photoURL String?\n tracks String[]\n loginCount Int?\n lastLoginDate DateTime?\n availableForGigs Boolean?\n availableForGigsLastUpdateDate DateTime?\n lastProfileConfirmationDate DateTime?\n skillScoreDeduction Float?\n namesAndHandleAppearance String?\n aggregatedSkills Json?\n enteredSkills Json?\n\n financial memberFinancial?\n memberStats memberStats[]\n memberStatsHistory memberStatsHistory[]\n challengePoints memberChallengePoints[]\n memberTraits memberTraits?\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([handleLower])\n @@index([email])\n @@index([status, handleLower])\n @@index([lastLoginDate])\n @@index([availableForGigs])\n @@index([status, availableForGigs])\n @@index([homeCountryCode], map: \"idx_member_home_country_code\")\n @@index([competitionCountryCode], map: \"idx_member_competition_country_code\")\n @@schema(\"members\")\n}\n\nmodel memberAddress {\n id BigInt @id @default(autoincrement())\n userId BigInt\n streetAddr1 String?\n streetAddr2 String?\n city String?\n zip String?\n stateCode String?\n type String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, type])\n @@index([userId, type, id(sort: Desc)], map: \"idx_member_address_user_type\")\n @@schema(\"members\")\n}\n\nmodel memberPhone {\n id String @id @default(uuid())\n userId BigInt\n type String\n number String\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, number])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberMaxRating {\n id BigInt @id @default(autoincrement())\n userId BigInt\n rating Int\n track String?\n subTrack String?\n ratingColor String\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nmodel memberFinancial {\n userId BigInt @id\n amount Float\n status FinancialStatus\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@schema(\"members\")\n}\n\nmodel memberStatsHistory {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String\n typeId String\n challengeId String\n mostRecent Boolean @default(false)\n oldRating Int?\n newRating Int?\n placement Int?\n percentile Float?\n oldVolatility Int?\n newVolatility Int?\n oldGlobalRank Int?\n newGlobalRank Int?\n oldCountryRank Int?\n newCountryRank Int?\n oldSchoolRank Int?\n newSchoolRank Int?\n eventDate DateTime\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([userId])\n @@index([userId, trackId, typeId])\n @@index([userId, trackId, typeId, mostRecent])\n @@index([challengeId])\n @@index([eventDate])\n @@schema(\"members\")\n}\n\nmodel memberStats {\n id BigInt @id @default(autoincrement())\n userId BigInt\n trackId String?\n typeId String?\n challenges Int?\n wins Int?\n mostRecentSubmission DateTime?\n mostRecentEventDate DateTime?\n rating Int?\n avgRank Float?\n avgNumSubmissions Int?\n bestRank Int?\n globalRank Int?\n countryRank Int?\n schoolRank Int?\n volatility Int?\n maxRating Int?\n minRating Int?\n topFiveFinishes Int?\n topTenFinishes Int?\n isPrivate Boolean @default(false)\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId, trackId, typeId])\n @@index([userId])\n @@index([trackId])\n @@index([typeId])\n @@index([trackId, typeId, rating])\n @@index([userId, trackId, typeId])\n @@index([globalRank])\n @@index([countryRank])\n @@index([schoolRank])\n @@schema(\"members\")\n}\n\nmodel memberChallengePoints {\n id BigInt @id @default(autoincrement())\n challengeId String\n challengeName String\n userId BigInt\n placement Int\n points Int\n\n member member @relation(fields: [userId], references: [userId], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([challengeId, userId])\n @@index([userId])\n @@index([challengeId])\n @@schema(\"members\")\n}\n\nmodel memberTraits {\n id BigInt @id @default(autoincrement())\n userId BigInt\n\n device memberTraitDevice[]\n software memberTraitSoftware[]\n serviceProvider memberTraitServiceProvider[]\n subscriptions String[]\n hobby String[]\n work memberTraitWork[]\n education memberTraitEducation[]\n basicInfo memberTraitBasicInfo[]\n language memberTraitLanguage[]\n checklist memberTraitOnboardChecklist[]\n personalization memberTraitPersonalization[]\n community memberTraitCommunity[]\n\n member member @relation(fields: [userId], references: [userId])\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([userId])\n @@index([userId])\n @@schema(\"members\")\n}\n\nenum DeviceType {\n Console\n Desktop\n Laptop\n Smartphone\n Tablet\n Wearable\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitDevice {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n deviceType DeviceType\n manufacturer String\n model String\n operatingSystem String\n osVersion String?\n osLanguage String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum SoftwareType {\n DeveloperTools\n Browser\n Productivity\n GraphAndDesign\n Utilities\n\n @@schema(\"members\")\n}\n\nmodel memberTraitSoftware {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n softwareType SoftwareType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum ServiceProviderType {\n InternetServiceProvider\n MobileCarrier\n Television\n FinancialInstitution\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitServiceProvider {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n type ServiceProviderType\n name String\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nenum WorkIndustryType {\n Banking\n ConsumerGoods\n Energy\n Entertainment\n HealthCare\n Pharma\n PublicSector\n TechAndTechnologyService\n Telecoms\n TravelAndHospitality\n Other\n\n @@schema(\"members\")\n}\n\nmodel memberTraitWork {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n industry WorkIndustryType?\n otherIndustry String?\n companyName String\n position String\n startDate DateTime?\n endDate DateTime?\n working Boolean?\n description String?\n associatedSkills String[]\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitEducation {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n collegeName String\n degree String\n endYear Int?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitBasicInfo {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n userId BigInt\n country String\n primaryInterestInTopcoder String\n tshirtSize String?\n gender String?\n shortBio String\n birthDate DateTime?\n currentLocation String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@unique([memberTraitId])\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitLanguage {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n language String\n spokenLevel String?\n writtenLevel String?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\n// This model is used to send messages when user login. When profile not complete, it will show up.\nmodel memberTraitOnboardChecklist {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n listItemType String // Like 'profile_completed'\n date DateTime\n message String\n status String\n skip Boolean?\n metadata Json?\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n\nmodel memberTraitPersonalization {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n key String?\n value Json?\n private Boolean @default(false)\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@index([memberTraitId, key], map: \"memberTraitPersonalization_memberTraitId_key_idx\")\n @@schema(\"members\")\n}\n\nmodel memberTraitCommunity {\n id BigInt @id @default(autoincrement())\n\n memberTraitId BigInt\n\n communityName String\n status Boolean\n\n memberTraits memberTraits @relation(fields: [memberTraitId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n createdBy String\n updatedAt DateTime? @updatedAt\n updatedBy String?\n\n @@index([memberTraitId])\n @@schema(\"members\")\n}\n", + "inlineSchemaHash": "72fac5e8a2fbcbc76562b3d93f6fe69b84080bdea52b075498a06a85d0e8524b", "copyEngine": true } config.dirname = '/' -config.runtimeDataModel = JSON.parse("{\"models\":{\"member\":{\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"handle\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"handleLower\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"verified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"memberRatingId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"maxRating\",\"kind\":\"object\",\"type\":\"memberMaxRating\",\"relationName\":\"memberTomemberMaxRating\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"otherLangName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"MemberStatus\"},{\"name\":\"newEmail\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerifyToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerifyTokenDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"newEmailVerifyToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"newEmailVerifyTokenDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"addresses\",\"kind\":\"object\",\"type\":\"memberAddress\",\"relationName\":\"memberTomemberAddress\"},{\"name\":\"phones\",\"kind\":\"object\",\"type\":\"memberPhone\",\"relationName\":\"memberTomemberPhone\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"homeCountryCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"competitionCountryCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"photoURL\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tracks\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"loginCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"lastLoginDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"availableForGigs\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"availableForGigsLastUpdateDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastProfileConfirmationDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"skillScoreDeduction\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"namesAndHandleAppearance\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aggregatedSkills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"enteredSkills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"financial\",\"kind\":\"object\",\"type\":\"memberFinancial\",\"relationName\":\"memberTomemberFinancial\"},{\"name\":\"memberStats\",\"kind\":\"object\",\"type\":\"memberStats\",\"relationName\":\"memberTomemberStats\"},{\"name\":\"memberStatsHistory\",\"kind\":\"object\",\"type\":\"memberStatsHistory\",\"relationName\":\"memberTomemberStatsHistory\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberAddress\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"streetAddr1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"streetAddr2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stateCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberAddress\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberPhone\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberPhone\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberMaxRating\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"track\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subTrack\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ratingColor\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberMaxRating\"}],\"dbName\":null},\"memberFinancial\":{\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"FinancialStatus\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberFinancial\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberStatsHistory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"trackId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"typeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mostRecent\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"oldRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"placement\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"percentile\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"oldVolatility\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newVolatility\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"oldGlobalRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newGlobalRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"oldCountryRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newCountryRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"oldSchoolRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newSchoolRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"eventDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberStatsHistory\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberStats\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"trackId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"typeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"challenges\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"wins\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"mostRecentSubmission\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"mostRecentEventDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"avgRank\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avgNumSubmissions\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"bestRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"globalRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"countryRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"schoolRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"volatility\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"maxRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"minRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"topFiveFinishes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"topTenFinishes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberStats\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraits\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"memberTraitDevice\",\"relationName\":\"memberTraitDeviceTomemberTraits\"},{\"name\":\"software\",\"kind\":\"object\",\"type\":\"memberTraitSoftware\",\"relationName\":\"memberTraitSoftwareTomemberTraits\"},{\"name\":\"serviceProvider\",\"kind\":\"object\",\"type\":\"memberTraitServiceProvider\",\"relationName\":\"memberTraitServiceProviderTomemberTraits\"},{\"name\":\"subscriptions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hobby\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work\",\"kind\":\"object\",\"type\":\"memberTraitWork\",\"relationName\":\"memberTraitWorkTomemberTraits\"},{\"name\":\"education\",\"kind\":\"object\",\"type\":\"memberTraitEducation\",\"relationName\":\"memberTraitEducationTomemberTraits\"},{\"name\":\"basicInfo\",\"kind\":\"object\",\"type\":\"memberTraitBasicInfo\",\"relationName\":\"memberTraitBasicInfoTomemberTraits\"},{\"name\":\"language\",\"kind\":\"object\",\"type\":\"memberTraitLanguage\",\"relationName\":\"memberTraitLanguageTomemberTraits\"},{\"name\":\"checklist\",\"kind\":\"object\",\"type\":\"memberTraitOnboardChecklist\",\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\"},{\"name\":\"personalization\",\"kind\":\"object\",\"type\":\"memberTraitPersonalization\",\"relationName\":\"memberTraitPersonalizationTomemberTraits\"},{\"name\":\"community\",\"kind\":\"object\",\"type\":\"memberTraitCommunity\",\"relationName\":\"memberTraitCommunityTomemberTraits\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitDevice\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"deviceType\",\"kind\":\"enum\",\"type\":\"DeviceType\"},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"operatingSystem\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"osVersion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"osLanguage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitDeviceTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitSoftware\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"softwareType\",\"kind\":\"enum\",\"type\":\"SoftwareType\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitSoftwareTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitServiceProvider\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"ServiceProviderType\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitServiceProviderTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitWork\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"industry\",\"kind\":\"enum\",\"type\":\"WorkIndustryType\"},{\"name\":\"otherIndustry\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"companyName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"position\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"working\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"associatedSkills\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitWorkTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitEducation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"collegeName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"degree\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"endYear\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitEducationTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitBasicInfo\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"primaryInterestInTopcoder\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tshirtSize\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shortBio\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"currentLocation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitBasicInfoTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitLanguage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"language\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"spokenLevel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"writtenLevel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitLanguageTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitOnboardChecklist\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"listItemType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skip\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitPersonalization\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"private\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitPersonalizationTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitCommunity\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"communityName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitCommunityTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"member\":{\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"handle\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"handleLower\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"verified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"memberRatingId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"maxRating\",\"kind\":\"object\",\"type\":\"memberMaxRating\",\"relationName\":\"memberTomemberMaxRating\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"otherLangName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"MemberStatus\"},{\"name\":\"newEmail\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerifyToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerifyTokenDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"newEmailVerifyToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"newEmailVerifyTokenDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"addresses\",\"kind\":\"object\",\"type\":\"memberAddress\",\"relationName\":\"memberTomemberAddress\"},{\"name\":\"phones\",\"kind\":\"object\",\"type\":\"memberPhone\",\"relationName\":\"memberTomemberPhone\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"homeCountryCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"competitionCountryCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"photoURL\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tracks\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"loginCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"lastLoginDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"availableForGigs\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"availableForGigsLastUpdateDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastProfileConfirmationDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"skillScoreDeduction\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"namesAndHandleAppearance\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aggregatedSkills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"enteredSkills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"financial\",\"kind\":\"object\",\"type\":\"memberFinancial\",\"relationName\":\"memberTomemberFinancial\"},{\"name\":\"memberStats\",\"kind\":\"object\",\"type\":\"memberStats\",\"relationName\":\"memberTomemberStats\"},{\"name\":\"memberStatsHistory\",\"kind\":\"object\",\"type\":\"memberStatsHistory\",\"relationName\":\"memberTomemberStatsHistory\"},{\"name\":\"challengePoints\",\"kind\":\"object\",\"type\":\"memberChallengePoints\",\"relationName\":\"memberTomemberChallengePoints\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberAddress\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"streetAddr1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"streetAddr2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stateCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberAddress\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberPhone\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"number\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberPhone\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberMaxRating\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"track\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subTrack\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ratingColor\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberMaxRating\"}],\"dbName\":null},\"memberFinancial\":{\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"FinancialStatus\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberFinancial\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberStatsHistory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"trackId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"typeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mostRecent\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"oldRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"placement\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"percentile\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"oldVolatility\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newVolatility\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"oldGlobalRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newGlobalRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"oldCountryRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newCountryRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"oldSchoolRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"newSchoolRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"eventDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberStatsHistory\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberStats\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"trackId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"typeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"challenges\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"wins\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"mostRecentSubmission\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"mostRecentEventDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"avgRank\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avgNumSubmissions\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"bestRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"globalRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"countryRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"schoolRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"volatility\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"maxRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"minRating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"topFiveFinishes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"topTenFinishes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberStats\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberChallengePoints\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"challengeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"challengeName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"placement\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"points\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberChallengePoints\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraits\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"memberTraitDevice\",\"relationName\":\"memberTraitDeviceTomemberTraits\"},{\"name\":\"software\",\"kind\":\"object\",\"type\":\"memberTraitSoftware\",\"relationName\":\"memberTraitSoftwareTomemberTraits\"},{\"name\":\"serviceProvider\",\"kind\":\"object\",\"type\":\"memberTraitServiceProvider\",\"relationName\":\"memberTraitServiceProviderTomemberTraits\"},{\"name\":\"subscriptions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hobby\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work\",\"kind\":\"object\",\"type\":\"memberTraitWork\",\"relationName\":\"memberTraitWorkTomemberTraits\"},{\"name\":\"education\",\"kind\":\"object\",\"type\":\"memberTraitEducation\",\"relationName\":\"memberTraitEducationTomemberTraits\"},{\"name\":\"basicInfo\",\"kind\":\"object\",\"type\":\"memberTraitBasicInfo\",\"relationName\":\"memberTraitBasicInfoTomemberTraits\"},{\"name\":\"language\",\"kind\":\"object\",\"type\":\"memberTraitLanguage\",\"relationName\":\"memberTraitLanguageTomemberTraits\"},{\"name\":\"checklist\",\"kind\":\"object\",\"type\":\"memberTraitOnboardChecklist\",\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\"},{\"name\":\"personalization\",\"kind\":\"object\",\"type\":\"memberTraitPersonalization\",\"relationName\":\"memberTraitPersonalizationTomemberTraits\"},{\"name\":\"community\",\"kind\":\"object\",\"type\":\"memberTraitCommunity\",\"relationName\":\"memberTraitCommunityTomemberTraits\"},{\"name\":\"member\",\"kind\":\"object\",\"type\":\"member\",\"relationName\":\"memberTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitDevice\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"deviceType\",\"kind\":\"enum\",\"type\":\"DeviceType\"},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"operatingSystem\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"osVersion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"osLanguage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitDeviceTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitSoftware\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"softwareType\",\"kind\":\"enum\",\"type\":\"SoftwareType\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitSoftwareTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitServiceProvider\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"ServiceProviderType\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitServiceProviderTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitWork\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"industry\",\"kind\":\"enum\",\"type\":\"WorkIndustryType\"},{\"name\":\"otherIndustry\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"companyName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"position\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"working\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"associatedSkills\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitWorkTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitEducation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"collegeName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"degree\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"endYear\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitEducationTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitBasicInfo\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"primaryInterestInTopcoder\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tshirtSize\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shortBio\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"currentLocation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitBasicInfoTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitLanguage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"language\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"spokenLevel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"writtenLevel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitLanguageTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitOnboardChecklist\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"listItemType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skip\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitOnboardChecklistTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitPersonalization\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"private\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitPersonalizationTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"memberTraitCommunity\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"memberTraitId\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"communityName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"memberTraits\",\"kind\":\"object\",\"type\":\"memberTraits\",\"relationName\":\"memberTraitCommunityTomemberTraits\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = { getRuntime: async () => require('./query_engine_bg.js'), diff --git a/prisma/migrations/20260604120000_add_member_challenge_points/migration.sql b/prisma/migrations/20260604120000_add_member_challenge_points/migration.sql new file mode 100644 index 0000000..35700e0 --- /dev/null +++ b/prisma/migrations/20260604120000_add_member_challenge_points/migration.sql @@ -0,0 +1,28 @@ +CREATE TABLE "members"."memberChallengePoints" ( + "id" BIGSERIAL NOT NULL, + "challengeId" TEXT NOT NULL, + "challengeName" TEXT NOT NULL, + "userId" BIGINT NOT NULL, + "placement" INTEGER NOT NULL, + "points" INTEGER NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "createdBy" TEXT NOT NULL, + "updatedAt" TIMESTAMP(3), + "updatedBy" TEXT, + + CONSTRAINT "memberChallengePoints_pkey" PRIMARY KEY ("id") +); + +CREATE UNIQUE INDEX "memberChallengePoints_challengeId_userId_key" + ON "members"."memberChallengePoints"("challengeId", "userId"); + +CREATE INDEX "memberChallengePoints_userId_idx" + ON "members"."memberChallengePoints"("userId"); + +CREATE INDEX "memberChallengePoints_challengeId_idx" + ON "members"."memberChallengePoints"("challengeId"); + +ALTER TABLE "members"."memberChallengePoints" + ADD CONSTRAINT "memberChallengePoints_userId_fkey" + FOREIGN KEY ("userId") REFERENCES "members"."member"("userId") + ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 6e998ec..17f517b 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -4,6 +4,12 @@ generator client { output = "./generated/client" } +generator externalClient { + provider = "prisma-client-js" + output = "../packages/member-prisma-client" + binaryTargets = ["native", "debian-openssl-3.0.x"] +} + datasource db { provider = "postgresql" url = env("DATABASE_URL") @@ -68,6 +74,7 @@ model member { financial memberFinancial? memberStats memberStats[] memberStatsHistory memberStatsHistory[] + challengePoints memberChallengePoints[] memberTraits memberTraits? createdAt DateTime @default(now()) @@ -241,6 +248,27 @@ model memberStats { @@schema("members") } +model memberChallengePoints { + id BigInt @id @default(autoincrement()) + challengeId String + challengeName String + userId BigInt + placement Int + points Int + + member member @relation(fields: [userId], references: [userId], onDelete: Cascade) + + createdAt DateTime @default(now()) + createdBy String + updatedAt DateTime? @updatedAt + updatedBy String? + + @@unique([challengeId, userId]) + @@index([userId]) + @@index([challengeId]) + @@schema("members") +} + model memberTraits { id BigInt @id @default(autoincrement()) userId BigInt diff --git a/src/common/prismaHelper.js b/src/common/prismaHelper.js index f458f07..c4f01e2 100644 --- a/src/common/prismaHelper.js +++ b/src/common/prismaHelper.js @@ -1,4 +1,5 @@ const _ = require('lodash') +const config = require('config') const helper = require('./helper') const errors = require('./errors') const { @@ -7,6 +8,7 @@ const { resolveTrackNameFromLookup, resolveTypeNameFromLookup } = require('./statsDimensionHelper') +const { getConfiguredRatingPathByTypeId } = require('../ratings/ratingPathConfig') const designBasicFields = [ 'name', 'numInquiries', 'submissions', 'passedScreening', 'avgPlacement', @@ -58,7 +60,23 @@ function getUnifiedTrackName (trackId) { return canonical || String(trackId || '').toUpperCase().trim() } +/** + * Resolve a deterministic configured rating path ChallengeType id to its + * configured display name for API responses. + * @param {*} typeId stored ChallengeType id or display value + * @returns {string|undefined} configured rating path name when matched + */ +function getConfiguredRatingPathTypeName (typeId) { + const ratingPath = getConfiguredRatingPathByTypeId(config.RATING_PATHS, typeId) + return ratingPath ? ratingPath.name : undefined +} + function getUnifiedTypeName (typeId) { + const ratingPathName = getConfiguredRatingPathTypeName(typeId) + if (ratingPathName) { + return ratingPathName + } + const canonical = getCanonicalTypeName(typeId) return canonical || typeId } diff --git a/src/controllers/MemberController.js b/src/controllers/MemberController.js index a772468..c4963c1 100644 --- a/src/controllers/MemberController.js +++ b/src/controllers/MemberController.js @@ -32,6 +32,16 @@ async function getMemberUserIdSignature (req, res) { res.send(result) } +/** + * Replace stored challenge-point rows for one challenge. + * @param {Object} req the request + * @param {Object} res the response + */ +async function updateChallengePoints (req, res) { + const result = await service.updateChallengePoints(req.authUser, req.params.challengeId, req.body) + res.send(result) +} + /** * Get a specific member skill by skill ID * @param {Object} req the request @@ -128,6 +138,7 @@ module.exports = { getMember, getProfileCompleteness, getMemberUserIdSignature, + updateChallengePoints, getMemberSkill, updateMember, updateHandle, diff --git a/src/ratings/developRatingEngine.js b/src/ratings/developRatingEngine.js index 67a826e..e76f7ba 100644 --- a/src/ratings/developRatingEngine.js +++ b/src/ratings/developRatingEngine.js @@ -31,6 +31,7 @@ const CHALLENGE_TRACK_NAME = 'DEVELOPMENT' const CHALLENGE_TYPE_NAMES = [TYPE_NAMES.CHALLENGE, TYPE_NAMES.CODE] const RERATE_ACTOR = 'rerate-member-stats' const COMPLETED_CHALLENGE_STATUS = 'COMPLETED' +const CHALLENGE_WINNER_RATING_TYPES = ['PLACEMENT'] function isBigIntValue (value) { return Object.prototype.toString.call(value) === '[object BigInt]' @@ -68,6 +69,52 @@ function normalizeChallengeDimension (value) { .replace(/[\s-]+/g, '_') } +/** + * Normalize one or more rating-context values into an array. + * @param {*} value scalar or array option value + * @returns {Array<*>} option values as an array + */ +function toRatingContextArray (value) { + if (Array.isArray(value)) { + return value + } + + return value ? [value] : [] +} + +/** + * Build source challenge filters and target unified dimensions for this rating run. + * Defaults preserve the historical DEVELOPMENT / Challenge stream. + * @param {Object} [options] rerate options + * @param {string} [options.targetTrackName] unified stats track to update + * @param {string} [options.targetTypeName] unified stats type to update + * @param {Array|string} [options.challengeTrackNames] source challenge tracks to replay + * @param {Array|string} [options.challengeTypeNames] source challenge types to replay + * @returns {Object} normalized rating context + */ +function buildRatingContext (options = {}) { + const challengeTrackNames = toRatingContextArray(options.challengeTrackNames || options.challengeTrackName) + const challengeTypeNames = toRatingContextArray(options.challengeTypeNames || options.challengeTypeName) + + return { + targetTrackName: String(options.targetTrackName || TRACK_NAME).trim() || TRACK_NAME, + targetTypeName: String(options.targetTypeName || TYPE_NAME).trim() || TYPE_NAME, + challengeTrackNames: (challengeTrackNames.length > 0 ? challengeTrackNames : [CHALLENGE_TRACK_NAME]) + .map(normalizeChallengeDimension), + challengeTypeNames: (challengeTypeNames.length > 0 ? challengeTypeNames : CHALLENGE_TYPE_NAMES) + .map(normalizeChallengeDimension) + } +} + +/** + * Build the human-readable label for rerate errors. + * @param {Object} ratingContext normalized rating context + * @returns {string} target track/type label + */ +function getRatingContextLabel (ratingContext) { + return `${ratingContext.targetTrackName}/${ratingContext.targetTypeName}` +} + /** * Add one non-empty challenge id candidate to the supplied set. * @param {Set} candidates mutable challenge id candidate set @@ -150,22 +197,23 @@ function historyEntryMatchesChallengeId (historyEntry, challengeId) { } /** - * Resolve whether challenge metadata belongs to the Development Challenge rating stream. - * Development CODE challenge rows are rated into the same DEVELOP / Challenge - * stream as standard Development Challenge rows. + * Resolve whether challenge metadata belongs to the configured Challenge rating stream. + * By default, Development CODE challenge rows are rated into the same + * DEVELOP / Challenge stream as standard Development Challenge rows. * @param {Object} challenge challenge metadata record + * @param {Object} [ratingContext] normalized rating context * @returns {boolean} true when the challenge should be replayed by this engine */ -function isDevelopmentRatingChallenge (challenge) { +function isDevelopmentRatingChallenge (challenge, ratingContext = buildRatingContext()) { if (!challenge || !challenge.track || !challenge.type) { return false } const normalizedTrackName = normalizeChallengeDimension(challenge.track.name) const normalizedTypeName = normalizeChallengeDimension(challenge.type.name) - const supportedTypeNames = CHALLENGE_TYPE_NAMES.map(normalizeChallengeDimension) - return normalizedTrackName === CHALLENGE_TRACK_NAME && supportedTypeNames.includes(normalizedTypeName) + return ratingContext.challengeTrackNames.includes(normalizedTrackName) && + ratingContext.challengeTypeNames.includes(normalizedTypeName) } function isCompletedChallenge (challenge) { @@ -246,24 +294,25 @@ function buildUserStateKey (userId) { } /** - * Resolve the unified track/type UUIDs used for DEVELOPMENT / Challenge rows. + * Resolve the unified track/type UUIDs used for this challenge-result rating stream. * @param {Object} challengeClient prisma challenge client + * @param {Object} [ratingContext] normalized rating context * @returns {Promise<{trackId: string, typeId: string, trackName: string, typeName: string, dimensionLookup: Object}>} resolved unified ids */ -async function resolveUnifiedDimensionIds (challengeClient) { +async function resolveUnifiedDimensionIds (challengeClient, ratingContext = buildRatingContext()) { const dimensionLookup = await loadChallengeDimensionLookup(challengeClient) - const trackId = resolveTrackIdFromLookup(dimensionLookup, TRACK_NAME) - const typeId = resolveTypeIdFromLookup(dimensionLookup, TYPE_NAME) + const trackId = resolveTrackIdFromLookup(dimensionLookup, ratingContext.targetTrackName) + const typeId = resolveTypeIdFromLookup(dimensionLookup, ratingContext.targetTypeName) if (!trackId || !typeId) { - throw new Error(`Unable to resolve unified dimension ids for ${TRACK_NAME}/${TYPE_NAME}`) + throw new Error(`Unable to resolve unified dimension ids for ${getRatingContextLabel(ratingContext)}`) } return { trackId, typeId, - trackName: TRACK_NAME, - typeName: TYPE_NAME, + trackName: ratingContext.targetTrackName, + typeName: ratingContext.targetTypeName, dimensionLookup } } @@ -351,9 +400,11 @@ function findHistorySeedIndexForChallenge (historyRows, challengeEntry) { } function normalizeScore (row) { - const finalScore = Number(row.finalScore) - if (Number.isFinite(finalScore)) { - return finalScore + if (row.finalScore !== null && row.finalScore !== undefined) { + const finalScore = Number(row.finalScore) + if (Number.isFinite(finalScore)) { + return finalScore + } } const placement = Number(row.placement) @@ -391,6 +442,145 @@ function isParticipantEligibleForRating (row) { return false } +/** + * Convert a member user id into the numeric shape stored on ChallengeWinner. + * @param {BigInt|string|number} userId member identifier + * @returns {number|string} numeric user id when safe, otherwise the string form + */ +function toChallengeWinnerUserId (userId) { + const numericUserId = Number(userId) + return Number.isSafeInteger(numericUserId) ? numericUserId : String(userId) +} + +/** + * Convert one ChallengeWinner row into the challengeResult-like row consumed by + * the Development rating replay. Winner rows only provide placement, so the + * existing placement score fallback drives the rating calculation. + * @param {Object} row ChallengeWinner row + * @returns {Object|null} review-row-compatible participant data + */ +function toChallengeWinnerParticipantRow (row) { + if (!row || row.userId === null || row.userId === undefined || !row.challengeId) { + return null + } + + return { + challengeId: String(row.challengeId), + userId: String(row.userId), + placement: row.placement, + passedReview: true, + validSubmission: true, + createdAt: row.createdAt + } +} + +/** + * Build the duplicate key used when merging challengeResult and ChallengeWinner + * participant rows for the same member and challenge. + * @param {Object} row participant row + * @returns {string} duplicate key + */ +function buildParticipantRowKey (row) { + return `${String(row && row.challengeId)}::${String(row && row.userId)}` +} + +/** + * Merge review-api participant rows with ChallengeWinner placement rows. Review + * rows are kept when both sources exist because they may carry final score and + * source rating fields that are more precise than placement-only winners. + * @param {Array} reviewRows challengeResult rows + * @param {Array} winnerRows ChallengeWinner rows + * @returns {Array} merged participant rows + */ +function mergeChallengeWinnerParticipantRows (reviewRows, winnerRows) { + const mergedRows = (reviewRows || []).slice() + const existingKeys = new Set(mergedRows.map(buildParticipantRowKey)) + + ;(winnerRows || []).forEach((winnerRow) => { + const participantRow = toChallengeWinnerParticipantRow(winnerRow) + if (!participantRow) { + return + } + + const key = buildParticipantRowKey(participantRow) + if (existingKeys.has(key)) { + return + } + + existingKeys.add(key) + mergedRows.push(participantRow) + }) + + return mergedRows +} + +/** + * Load ChallengeWinner rows for a target member. These rows let winner-only + * members enter the Development rating timeline even when review-api never + * wrote a challengeResult row for the completed challenge. + * @param {Object} challengeClient challenge Prisma client + * @param {BigInt|string|number} userId member identifier + * @returns {Promise>} ChallengeWinner rows for rating replay + */ +async function fetchChallengeWinnerRowsForUser (challengeClient, userId) { + if (!challengeClient || !challengeClient.ChallengeWinner || + typeof challengeClient.ChallengeWinner.findMany !== 'function') { + return [] + } + + return challengeClient.ChallengeWinner.findMany({ + where: { + userId: toChallengeWinnerUserId(userId), + type: { + in: CHALLENGE_WINNER_RATING_TYPES + } + }, + select: { + challengeId: true, + userId: true, + placement: true, + createdAt: true + } + }) +} + +/** + * Load ChallengeWinner participant rows for one challenge. The rows are merged + * with review-api participants so placement winners without challengeResult + * records still affect and receive Development rating updates. + * @param {Object} challengeClient challenge Prisma client + * @param {Object|string|number} challengeRef challenge id or history entry + * @returns {Promise>} ChallengeWinner rows for the challenge + */ +async function fetchChallengeWinnerRowsForChallenge (challengeClient, challengeRef) { + if (!challengeClient || !challengeClient.ChallengeWinner || + typeof challengeClient.ChallengeWinner.findMany !== 'function') { + return [] + } + + const challengeIds = buildChallengeIdCandidates(challengeRef) + if (challengeIds.length === 0) { + return [] + } + + return challengeClient.ChallengeWinner.findMany({ + where: { + challengeId: { + in: challengeIds + }, + type: { + in: CHALLENGE_WINNER_RATING_TYPES + } + }, + select: { + challengeId: true, + userId: true, + placement: true, + createdAt: true + } + }) +} + async function fetchReviewResultsForUser (reviewDbClient, userId) { const challengeResultRelation = await resolveChallengeResultRelation(reviewDbClient) const result = await reviewDbClient.query( @@ -406,7 +596,7 @@ async function fetchReviewResultsForUser (reviewDbClient, userId) { return result.rows } -async function fetchParticipantsForChallenge (reviewDbClient, challengeRef) { +async function fetchParticipantsForChallenge (reviewDbClient, challengeRef, challengeClient) { const challengeIds = buildChallengeIdCandidates(challengeRef) if (challengeIds.length === 0) { return [] @@ -424,7 +614,8 @@ async function fetchParticipantsForChallenge (reviewDbClient, challengeRef) { challengeIds ) - return result.rows + const winnerRows = await fetchChallengeWinnerRowsForChallenge(challengeClient, challengeRef) + return mergeChallengeWinnerParticipantRows(result.rows, winnerRows) } /** @@ -548,10 +739,12 @@ function isCanonicalReviewChallengeRow (row, challenge) { * @param {Object} [options] history filtering options * @param {boolean} [options.skipLegacyReviewIds=false] ignore legacy numeric review ids that are already represented by legacy subtrack history * @param {boolean} [options.useLegacySourceRatings=false] preserve challengeResult oldRating/newRating for legacy-backed rows + * @param {Object} [options.ratingContext] source and target dimension config * @returns {Array} ordered challenge history entries for rerating */ function buildTargetHistory (reviewRows, challengeMetadataById, options = {}) { const historyByChallengeId = new Map() + const ratingContext = options.ratingContext || buildRatingContext() reviewRows.forEach((row) => { if (!isParticipantEligibleForRating(row)) { @@ -575,7 +768,7 @@ function buildTargetHistory (reviewRows, challengeMetadataById, options = {}) { return } - if (!isDevelopmentRatingChallenge(challenge)) { + if (!isDevelopmentRatingChallenge(challenge, ratingContext)) { return } @@ -942,6 +1135,10 @@ async function refreshMostRecentHistoryFlag (tx, userId, dimensionIds) { * @param {boolean} [options.recalculateRanks=true] recompute Develop Challenge ranks after this member rerate * @param {boolean} [options.skipLegacyReviewIds=false] skip legacy numeric challengeResult aliases during full migration rerates * @param {boolean} [options.useLegacySourceRatings=false] preserve challengeResult oldRating/newRating for legacy-backed rows + * @param {string} [options.targetTrackName=DEVELOP] unified stats track to update + * @param {string} [options.targetTypeName=Challenge] unified stats type to update + * @param {Array|string} [options.challengeTrackNames=DEVELOPMENT] source challenge tracks to replay + * @param {Array|string} [options.challengeTypeNames=[Challenge,CODE]] source challenge types to replay * @returns {Promise<{challengesProcessed: number, ratingsUpdated: number}>} rerate counters * @throws {Error} when required review DB or dimension data is unavailable */ @@ -951,8 +1148,13 @@ async function rerateDevTrack (membersClient, challengeClient, reviewDbClient, u } const normalizedUserId = toBigIntUserId(userId) - const reviewRows = await fetchReviewResultsForUser(reviewDbClient, normalizedUserId) - if (reviewRows.length === 0) { + const ratingContext = buildRatingContext(options) + const [reviewRows, winnerRows] = await Promise.all([ + fetchReviewResultsForUser(reviewDbClient, normalizedUserId), + fetchChallengeWinnerRowsForUser(challengeClient, normalizedUserId) + ]) + const participantRowsForUser = mergeChallengeWinnerParticipantRows(reviewRows, winnerRows) + if (participantRowsForUser.length === 0) { return { challengesProcessed: 0, ratingsUpdated: 0 @@ -961,12 +1163,13 @@ async function rerateDevTrack (membersClient, challengeClient, reviewDbClient, u const challengeMetadataById = await fetchChallengeMetadataMap( challengeClient, - Array.from(new Set(reviewRows.map((row) => String(row.challengeId)))) + Array.from(new Set(participantRowsForUser.map((row) => String(row.challengeId)))) ) - const targetHistory = buildTargetHistory(reviewRows, challengeMetadataById, { + const targetHistory = buildTargetHistory(participantRowsForUser, challengeMetadataById, { skipLegacyReviewIds: options.skipLegacyReviewIds === true, - useLegacySourceRatings: options.useLegacySourceRatings === true + useLegacySourceRatings: options.useLegacySourceRatings === true, + ratingContext }) if (targetHistory.length === 0) { return { @@ -975,13 +1178,14 @@ async function rerateDevTrack (membersClient, challengeClient, reviewDbClient, u } } - const dimensionIds = await resolveUnifiedDimensionIds(challengeClient) + const dimensionIds = await resolveUnifiedDimensionIds(challengeClient, ratingContext) + const ratingLabel = getRatingContextLabel(ratingContext) let startIndex = 0 if (fromChallengeId) { startIndex = targetHistory.findIndex((entry) => historyEntryMatchesChallengeId(entry, fromChallengeId)) if (startIndex < 0) { - throw new errors.BadRequestError(`Challenge ${fromChallengeId} is not a rated ${TRACK_NAME}/${TYPE_NAME} event for this member`) + throw new errors.BadRequestError(`Challenge ${fromChallengeId} is not a rated ${ratingLabel} event for this member`) } } @@ -1062,7 +1266,7 @@ async function rerateDevTrack (membersClient, challengeClient, reviewDbClient, u continue } - const participantRows = (await fetchParticipantsForChallenge(reviewDbClient, historyEntry)) + const participantRows = (await fetchParticipantsForChallenge(reviewDbClient, historyEntry, challengeClient)) .filter((row) => isParticipantEligibleForRating(row)) if (participantRows.length === 0) { continue diff --git a/src/ratings/mmRatingEngine.js b/src/ratings/mmRatingEngine.js index b6c8443..3124b46 100644 --- a/src/ratings/mmRatingEngine.js +++ b/src/ratings/mmRatingEngine.js @@ -16,6 +16,7 @@ const { resolveChallengeResultRelation, resolveReviewDbRelation } = require('../common/reviewDbHelper') +const { Prisma } = require('../common/prisma') const { clearChallengeDimensionLookupCache, loadChallengeDimensionLookup, @@ -30,6 +31,7 @@ const { isChallengeRated } = require('./challengeRatingStatus') const { + buildRatingPathTypeId, challengeMatchesRatingPath, normalizeRatingPathName } = require('./ratingPathConfig') @@ -45,7 +47,6 @@ const RATING_PATH_SOURCE_DEVELOPMENT = 'DEVELOPMENT_CHALLENGE' const RATING_PATH_SOURCE_MARATHON_MATCH = 'MARATHON_MATCH' const VALID_MM_SUBMISSION_STATUSES = ['ACTIVE', 'COMPLETED_WITHOUT_WIN', 'FAILED_REVIEW'] const COMPLETED_CHALLENGE_STATUS = 'COMPLETED' -const LEGACY_MM_CANONICAL_OVERLAP_WINDOW_MS = 120 * 24 * 60 * 60 * 1000 const DEFAULT_MM_SCORING_CONFIG = Object.freeze({ relativeScoringEnabled: true, scoreDirection: 'MAXIMIZE' @@ -243,11 +244,12 @@ function cloneState (state) { } /** - * Normalize a rating value for rating-bound calculations. - * @param {*} value candidate rating value - * @returns {number|null} integer rating, or null when unavailable + * Normalize a nullable integer value from persisted rating checkpoints. + * Empty values such as null must stay unavailable instead of becoming zero. + * @param {*} value candidate integer value + * @returns {number|null} integer value, or null when unavailable */ -function toOptionalRating (value) { +function toOptionalInteger (value) { if (value === null || value === undefined || value === '') { return null } @@ -256,6 +258,15 @@ function toOptionalRating (value) { return Number.isFinite(rating) ? Math.trunc(rating) : null } +/** + * Normalize a rating value for rating-bound calculations. + * @param {*} value candidate rating value + * @returns {number|null} integer rating, or null when unavailable + */ +function toOptionalRating (value) { + return toOptionalInteger(value) +} + /** * Determine whether a challenge id is a numeric legacy stats-history id. * @param {*} value candidate challenge id @@ -320,34 +331,134 @@ function isReratedCanonicalHistoryRow (row) { } /** - * Keep imported numeric MM history authoritative for migrated events. - * Canonical rerate rows inside the migrated overlap window are ignored for - * seeding and min/max bounds so old ratings do not move when a new event is - * rated later. + * Extract a Marathon Match round number from a legacy or canonical challenge name. + * @param {*} value challenge display name + * @returns {string|null} Marathon Match number, or null when unavailable + */ +function extractMarathonMatchNumber (value) { + const name = String(value || '').trim() + if (!name) { + return null + } + + const match = name.match(/\b(?:MM|MARATHON\s+MATCH)\s*#?\s*(\d+)\b/i) + return match ? match[1] : null +} + +/** + * Build a conservative title alias for duplicate MM history detection. + * @param {*} value challenge display name + * @returns {string|null} normalized title prefix alias, or null when unavailable + */ +function getMarathonHistoryTitleAlias (value) { + const normalized = String(value || '') + .toLowerCase() + .replace(/[^a-z0-9]/g, '') + + return normalized.length >= 20 ? `title:${normalized.slice(0, 24)}` : null +} + +/** + * Build non-id aliases that can let a complete canonical rerate replace a + * migrated numeric MM history row. + * @param {Object} row memberStatsHistory row with optional challengeName + * @returns {Array} replacement aliases for duplicate detection + */ +function getMarathonHistoryReplacementAliasKeys (row) { + const keys = [] + const matchNumber = extractMarathonMatchNumber(row && row.challengeName) + if (matchNumber) { + keys.push(`match:${matchNumber}`) + } + + const titleAlias = getMarathonHistoryTitleAlias(row && row.challengeName) + if (titleAlias) { + keys.push(titleAlias) + } + + return keys +} + +/** + * Determine whether a canonical MM history row has enough rerated state to seed + * future rerates in place of a duplicate legacy numeric row. + * @param {Object} row memberStatsHistory row + * @returns {boolean} true when the row is an authoritative canonical checkpoint + */ +function isAuthoritativeCanonicalHistoryRow (row) { + return isReratedCanonicalHistoryRow(row) && toOptionalRating(row && row.newRating) !== null +} + +/** + * Build duplicate-detection aliases covered by authoritative canonical MM rows. + * @param {Array} rows memberStatsHistory rows ordered by event date + * @returns {Set} aliases covered by complete canonical rerates + */ +function buildAuthoritativeCanonicalHistoryAliasSet (rows) { + const aliases = new Set() + + ;(rows || []).forEach((row) => { + if (!isAuthoritativeCanonicalHistoryRow(row)) { + return + } + + getMarathonHistoryReplacementAliasKeys(row).forEach(key => aliases.add(key)) + }) + + return aliases +} + +/** + * Build duplicate-detection aliases covered by imported numeric MM rows. + * @param {Array} rows memberStatsHistory rows ordered by event date + * @returns {Set} aliases covered by legacy rows + */ +function buildLegacyHistoryAliasSet (rows) { + const aliases = new Set() + + ;(rows || []).forEach((row) => { + if (!isLegacyNumericChallengeId(row && row.challengeId) || toOptionalRating(row && row.newRating) === null) { + return + } + + getMarathonHistoryReplacementAliasKeys(row).forEach(key => aliases.add(key)) + }) + + return aliases +} + +/** + * Keep only one seed row for migrated/canonical MM duplicates. + * Complete canonical rerates replace migrated numeric rows for the same MM + * number or long title. Incomplete canonical rows stay hidden behind imported + * legacy rows so old migrations still provide a fallback rating seed. * @param {Array} historyRows memberStatsHistory rows ordered by event date - * @returns {Array} rows with duplicate historical canonical rerates removed + * @returns {Array} rows with duplicate migrated/canonical rows removed */ function selectLegacyPreferredMarathonHistoryRows (historyRows) { const rows = historyRows || [] - const legacyTimestamps = rows - .filter(row => isLegacyNumericChallengeId(row && row.challengeId) && toOptionalRating(row && row.newRating) !== null) - .map(row => (row.eventDate ? row.eventDate.getTime() : 0)) - .filter(timestamp => timestamp > 0) + const canonicalAliases = buildAuthoritativeCanonicalHistoryAliasSet(rows) + const legacyAliases = buildLegacyHistoryAliasSet(rows) - if (legacyTimestamps.length === 0) { - return rows - } + return rows.filter((row) => { + if (!row) { + return true + } - const latestLegacyTimestamp = Math.max(...legacyTimestamps) - const overlapCutoff = latestLegacyTimestamp + LEGACY_MM_CANONICAL_OVERLAP_WINDOW_MS + const replacementAliases = getMarathonHistoryReplacementAliasKeys(row) + if (isLegacyNumericChallengeId(row.challengeId)) { + return !replacementAliases.some(key => canonicalAliases.has(key)) + } - return rows.filter((row) => { if (!isReratedCanonicalHistoryRow(row)) { return true } - const rowTimestamp = row.eventDate ? row.eventDate.getTime() : 0 - return !rowTimestamp || rowTimestamp > overlapCutoff + if (!replacementAliases.some(key => legacyAliases.has(key))) { + return true + } + + return isAuthoritativeCanonicalHistoryRow(row) }) } @@ -383,22 +494,6 @@ function compareValuesForHistoryRefresh (left, right) { return left > right ? 1 : -1 } -/** - * Build the deterministic ChallengeType id for a configured rating path. - * The unified stats tables enforce ChallengeType foreign keys, so custom rating - * names need stable dimension rows before memberStats can reference them. - * @param {Object} ratingPath normalized rating path config - * @returns {string} deterministic custom ChallengeType id - */ -function buildRatingPathTypeId (ratingPath) { - const slug = normalizeRatingPathName(ratingPath && ratingPath.name) - .toLowerCase() - .replace(/[^a-z0-9]+/g, '-') - .replace(/^-+|-+$/g, '') - - return `rating-path-${slug || 'custom'}` -} - /** * Find an existing ChallengeType row matching a configured rating path name. * @param {Object} challengeClient prisma challenge client @@ -515,7 +610,8 @@ async function resolveUnifiedDimensionIds (challengeClient, ratingPath) { /** * Build a rerate seed state from the latest authoritative history row before a challenge. * Historical volatility is used when available. Older history rows that predate - * volatility checkpoints fall back to the default Qubits volatility. + * volatility checkpoints fall back to the default Qubits volatility. Placement-only + * history rows without a stored rating do not count as prior rated contests. * @param {Array} historyRows participant history rows sorted by event date and id * @param {number} seedIndex index of the last history row before the target challenge * @returns {Object} seeded rating state @@ -525,14 +621,29 @@ function createHistorySeedState (historyRows, seedIndex) { return createDefaultState() } + let seedRating = null + let seedVolatility = null + let ratedHistoryCount = 0 + + for (let index = 0; index <= seedIndex; index += 1) { + const rating = toOptionalRating(historyRows[index] && historyRows[index].newRating) + if (rating === null) { + continue + } + + ratedHistoryCount += 1 + seedRating = rating + seedVolatility = toOptionalInteger(historyRows[index] && historyRows[index].newVolatility) + } + + if (seedRating === null) { + return createDefaultState() + } + return { - rating: Number.isFinite(Number(historyRows[seedIndex].newRating)) - ? Number(historyRows[seedIndex].newRating) - : 0, - volatility: Number.isFinite(Number(historyRows[seedIndex].newVolatility)) - ? Number(historyRows[seedIndex].newVolatility) - : DEFAULT_VOLATILITY, - numRatings: seedIndex + 1 + rating: seedRating, + volatility: seedVolatility === null ? DEFAULT_VOLATILITY : seedVolatility, + numRatings: ratedHistoryCount } } @@ -795,14 +906,15 @@ function isEligibleMmSubmissionStatus (value) { /** * Resolve the best available Marathon Match score from a review result row. * Positive aggregate scores keep the higher-precision summation value, while - * positive submission final scores recover legacy rows whose aggregateScore is - * a zero or -1 placeholder. + * positive submission or challengeResult final scores recover rows whose + * aggregateScore is a zero or -1 placeholder. * @param {Object} row candidate result row * @returns {number} score value, or NaN when no numeric score is available */ function getMmResultScore (row) { const aggregateScore = Number(row && row.aggregateScore) const finalScore = Number(row && row.finalScore) + const challengeResultFinalScore = Number(row && row.challengeResultFinalScore) if (Number.isFinite(aggregateScore) && aggregateScore > 0) { return aggregateScore @@ -812,6 +924,10 @@ function getMmResultScore (row) { return finalScore } + if (Number.isFinite(challengeResultFinalScore) && challengeResultFinalScore > 0) { + return challengeResultFinalScore + } + return aggregateScore } @@ -996,6 +1112,7 @@ function buildHistoryResultFields (participants, targetUserKey, sourceRow) { async function fetchMmResultsForUser (reviewDbClient, userId) { const reviewSummationRelation = await resolveReviewDbRelation(reviewDbClient, 'reviewSummation') const submissionRelation = await resolveReviewDbRelation(reviewDbClient, 'submission') + const challengeResultRelation = await resolveChallengeResultRelation(reviewDbClient) const result = await reviewDbClient.query( ` WITH "latestSubmissionSummation" AS ( @@ -1033,23 +1150,41 @@ async function fetchMmResultsForUser (reviewDbClient, userId) { AND (s."challengeId" IS NOT NULL OR s."legacyChallengeId" IS NOT NULL) AND rs."isFinal" IS NOT FALSE ${READY_MM_REVIEW_SUMMATION_FILTER} + ), + "challengeResultScore" AS ( + SELECT DISTINCT ON ("challengeId") + "challengeId", + "placement", + "finalScore" + FROM ${challengeResultRelation} + WHERE "userId" IS NOT NULL + AND "userId"::text = $1 + AND "validSubmission" IS DISTINCT FROM FALSE + AND ( + "finalScore" IS NOT NULL OR + ("placement" IS NOT NULL AND "placement" > 0) + ) + ORDER BY "challengeId", "placement" ASC NULLS LAST, "finalScore" DESC NULLS LAST, "createdAt" DESC ) SELECT - "submissionId", - "memberId", - "challengeId", - "legacyChallengeId", - "placement", - "finalScore", - "submissionStatus", - "submissionCreatedAt", - "aggregateScore", - "reviewedDate", - "createdAt", - "rated" - FROM "latestSubmissionSummation" - WHERE "summationRank" = 1 - ORDER BY COALESCE("reviewedDate", "createdAt") ASC, "submissionId" ASC + lss."submissionId", + lss."memberId", + lss."challengeId", + lss."legacyChallengeId", + COALESCE(crs."placement", lss."placement") AS "placement", + lss."finalScore", + crs."finalScore" AS "challengeResultFinalScore", + lss."submissionStatus", + lss."submissionCreatedAt", + lss."aggregateScore", + lss."reviewedDate", + lss."createdAt", + lss."rated" + FROM "latestSubmissionSummation" lss + LEFT JOIN "challengeResultScore" crs + ON crs."challengeId" = lss."challengeId" + WHERE lss."summationRank" = 1 + ORDER BY COALESCE(lss."reviewedDate", lss."createdAt") ASC, lss."submissionId" ASC `, [String(userId), VALID_MM_SUBMISSION_STATUSES] ) @@ -1114,32 +1249,37 @@ async function fetchMmParticipantsForChallenge (reviewDbClient, challengeId) { AND rs."isFinal" IS NOT FALSE ${READY_MM_REVIEW_SUMMATION_FILTER} ), - "challengeResultPlacement" AS ( + "challengeResultScore" AS ( SELECT DISTINCT ON ("userId") "userId", - "placement" + "placement", + "finalScore" FROM ${challengeResultRelation} WHERE "challengeId" = ANY($1::text[]) AND "userId" IS NOT NULL - AND "placement" IS NOT NULL - AND "placement" > 0 - ORDER BY "userId", "createdAt" DESC + AND "validSubmission" IS DISTINCT FROM FALSE + AND ( + "finalScore" IS NOT NULL OR + ("placement" IS NOT NULL AND "placement" > 0) + ) + ORDER BY "userId", "placement" ASC NULLS LAST, "finalScore" DESC NULLS LAST, "createdAt" DESC ) SELECT lss."submissionId", lss."memberId", lss."challengeId", lss."legacyChallengeId", - COALESCE(crp."placement", lss."placement") AS "placement", + COALESCE(crs."placement", lss."placement") AS "placement", lss."finalScore", + crs."finalScore" AS "challengeResultFinalScore", lss."submissionStatus", lss."aggregateScore", lss."reviewedDate", lss."createdAt", lss."submissionCreatedAt" FROM "latestSubmissionSummation" lss - LEFT JOIN "challengeResultPlacement" crp - ON crp."userId"::text = lss."memberId"::text + LEFT JOIN "challengeResultScore" crs + ON crs."userId"::text = lss."memberId"::text WHERE lss."summationRank" = 1 ORDER BY lss."submissionCreatedAt" ASC, lss."submissionId" ASC `, @@ -1324,14 +1464,117 @@ function buildTargetHistory (mmResultRows, challengeMetadataById, ratingPath) { return history } +/** + * Load canonical Challenge names for existing UUID history rows. + * @param {Object} challengeClient prisma challenge client + * @param {Array} rows memberStatsHistory rows + * @returns {Promise>} challenge names keyed by challenge id + */ +async function fetchCanonicalHistoryChallengeNames (challengeClient, rows) { + const challengeIds = Array.from(new Set( + (rows || []) + .map(row => row && row.challengeId) + .filter(challengeId => challengeId && !isLegacyNumericChallengeId(challengeId)) + .map(challengeId => String(challengeId)) + )) + + if (challengeIds.length === 0 || !challengeClient || !challengeClient.challenge || typeof challengeClient.challenge.findMany !== 'function') { + return new Map() + } + + const challenges = await challengeClient.challenge.findMany({ + where: { + id: { + in: challengeIds + } + }, + select: { + id: true, + name: true + } + }) + + return new Map( + (challenges || []) + .filter(challenge => challenge && challenge.id && challenge.name) + .map(challenge => [String(challenge.id), challenge.name]) + ) +} + +/** + * Load migrated legacy Marathon Match names for numeric history rows. + * @param {Object} membersClient prisma members client + * @param {Array} rows memberStatsHistory rows + * @returns {Promise>} challenge names keyed by numeric challenge id + */ +async function fetchLegacyHistoryChallengeNames (membersClient, rows) { + const challengeIds = Array.from(new Set( + (rows || []) + .map(row => row && row.challengeId) + .filter(challengeId => challengeId && isLegacyNumericChallengeId(challengeId)) + .map(challengeId => toBigIntUserId(challengeId)) + )) + + if (challengeIds.length === 0 || !membersClient || typeof membersClient.$queryRaw !== 'function') { + return new Map() + } + + const legacyRows = await membersClient.$queryRaw` + SELECT "challengeId"::text AS "challengeId", MIN("challengeName") AS "challengeName" + FROM "members"."memberDataScienceHistoryStats" + WHERE "subTrack" = 'MARATHON_MATCH' + AND "challengeId" IN (${Prisma.join(challengeIds)}) + AND "challengeName" IS NOT NULL + GROUP BY "challengeId" + ` + + return new Map( + (legacyRows || []) + .filter(row => row && row.challengeId && row.challengeName) + .map(row => [String(row.challengeId), row.challengeName]) + ) +} + +/** + * Hydrate MM history rows with challenge names before duplicate seed selection. + * The names let rerates treat migrated numeric rows such as "MM 145" and + * canonical rows such as "Marathon Match 145" as the same round. + * @param {Object} membersClient prisma members client + * @param {Object} challengeClient prisma challenge client + * @param {Array} rows memberStatsHistory rows + * @returns {Promise>} cloned rows with challengeName when available + */ +async function hydrateMarathonHistoryRowsForDuplicateSelection (membersClient, challengeClient, rows) { + const clonedRows = (rows || []).map(row => ({ ...row })) + if (clonedRows.length === 0) { + return clonedRows + } + + const [ + canonicalNamesByChallengeId, + legacyNamesByChallengeId + ] = await Promise.all([ + fetchCanonicalHistoryChallengeNames(challengeClient, clonedRows), + fetchLegacyHistoryChallengeNames(membersClient, clonedRows) + ]) + + return clonedRows.map((row) => ({ + ...row, + challengeName: row.challengeName || + canonicalNamesByChallengeId.get(String(row.challengeId)) || + legacyNamesByChallengeId.get(String(row.challengeId)) + })) +} + /** * Cache the unified history timeline for participants needed during the rerate span. * @param {Object} membersClient prisma members client + * @param {Object} challengeClient prisma challenge client * @param {Array} participantIds participant identifiers * @param {Map>} historyByUserId cached history rows per participant * @returns {Promise} resolves when the requested history rows are cached */ -async function loadParticipantHistoryCache (membersClient, participantIds, historyByUserId, dimensionIds) { +async function loadParticipantHistoryCache (membersClient, challengeClient, participantIds, historyByUserId, dimensionIds) { const idsToLoad = participantIds.filter((participantId) => !historyByUserId.has(buildUserStateKey(participantId))) if (idsToLoad.length === 0) { return @@ -1355,6 +1598,7 @@ async function loadParticipantHistoryCache (membersClient, participantIds, histo oldVolatility: true, newVolatility: true, eventDate: true, + placement: true, createdBy: true, updatedBy: true } @@ -1376,22 +1620,38 @@ async function loadParticipantHistoryCache (membersClient, participantIds, histo const cachedRows = groupedRows.get(stateKey) || [] cachedRows.push({ id: row.id, + userId: row.userId, challengeId: String(row.challengeId), oldRating: row.oldRating, newRating: row.newRating, oldVolatility: row.oldVolatility, newVolatility: row.newVolatility, eventDate, + placement: row.placement, createdBy: row.createdBy, updatedBy: row.updatedBy }) groupedRows.set(stateKey, cachedRows) }) + const hydratedRows = await hydrateMarathonHistoryRowsForDuplicateSelection( + membersClient, + challengeClient, + Array.from(groupedRows.values()).flat() + ) + const hydratedRowsByStateKey = new Map() + hydratedRows.forEach((row) => { + const stateKey = buildUserStateKey(row.userId) + const rows = hydratedRowsByStateKey.get(stateKey) || [] + rows.push(row) + hydratedRowsByStateKey.set(stateKey, rows) + }) + groupedRows.forEach((rows, stateKey) => { + const hydratedGroupRows = hydratedRowsByStateKey.get(stateKey) || rows historyByUserId.set( stateKey, - selectLegacyPreferredMarathonHistoryRows(backfillHistoryRatingsFromNextOldRating(rows)) + selectLegacyPreferredMarathonHistoryRows(backfillHistoryRatingsFromNextOldRating(hydratedGroupRows)) ) }) } @@ -1530,9 +1790,10 @@ async function updateMaxRating (tx, userId, dimensionIds) { * Mark the newest MM history row as mostRecent and align its rating snapshot. * @param {Object} tx prisma transaction client * @param {BigInt} userId member identifier + * @param {Object} challengeClient prisma challenge client * @returns {Promise} resolves when history flags are refreshed */ -async function refreshMostRecentHistoryFlag (tx, userId, dimensionIds) { +async function refreshMostRecentHistoryFlag (tx, userId, dimensionIds, challengeClient) { const historyWhere = { userId, trackId: dimensionIds.trackId, @@ -1543,19 +1804,26 @@ async function refreshMostRecentHistoryFlag (tx, userId, dimensionIds) { orderBy: [{ eventDate: 'asc' }, { id: 'asc' }], select: { id: true, + userId: true, challengeId: true, newRating: true, newVolatility: true, eventDate: true, + placement: true, createdBy: true, updatedBy: true } }) - const visibleHistoryRows = selectLegacyPreferredMarathonHistoryRows( + const hydratedHistoryRows = await hydrateMarathonHistoryRowsForDuplicateSelection( + tx, + challengeClient, historyRows.map((row) => ({ ...row, eventDate: normalizeDate(row.eventDate, row.eventDate) })) + ) + const visibleHistoryRows = selectLegacyPreferredMarathonHistoryRows( + hydratedHistoryRows ).sort((left, right) => { const leftEventDate = left.eventDate ? left.eventDate.getTime() : 0 const rightEventDate = right.eventDate ? right.eventDate.getTime() : 0 @@ -1952,7 +2220,7 @@ async function rerateMmRatingPath (membersClient, challengeClient, mmDbClient, r if (ratingsUpdated > 0) { await membersClient.$transaction(async (tx) => { - await refreshMostRecentHistoryFlag(tx, normalizedUserId, dimensionIds) + await refreshMostRecentHistoryFlag(tx, normalizedUserId, dimensionIds, challengeClient) await updateMaxRating(tx, normalizedUserId, dimensionIds) }) @@ -2070,7 +2338,7 @@ async function rerateMmTrack (membersClient, challengeClient, mmDbClient, review let targetSeedIndex = -1 if (startIndex > 0) { - await loadParticipantHistoryCache(membersClient, [normalizedUserId], participantHistoryByUserId, dimensionIds) + await loadParticipantHistoryCache(membersClient, challengeClient, [normalizedUserId], participantHistoryByUserId, dimensionIds) targetSeedHistoryRows = participantHistoryByUserId.get(targetUserKey) || [] targetSeedIndex = findHistoryIndexForChallenge(targetSeedHistoryRows, ratingHistory[startIndex - 1]) @@ -2103,7 +2371,7 @@ async function rerateMmTrack (membersClient, challengeClient, mmDbClient, review const usePlacementScore = shouldUsePlacementScores(participantRows) const missingParticipantIds = participantIds.filter((participantId) => !stateByUserId.has(buildUserStateKey(participantId))) if (missingParticipantIds.length > 0) { - await loadParticipantHistoryCache(membersClient, missingParticipantIds, participantHistoryByUserId, dimensionIds) + await loadParticipantHistoryCache(membersClient, challengeClient, missingParticipantIds, participantHistoryByUserId, dimensionIds) missingParticipantIds.forEach((participantId) => { const stateKey = buildUserStateKey(participantId) const historyRows = participantHistoryByUserId.get(stateKey) || [] @@ -2176,7 +2444,7 @@ async function rerateMmTrack (membersClient, challengeClient, mmDbClient, review if (ratingsUpdated > 0) { await membersClient.$transaction(async (tx) => { - await refreshMostRecentHistoryFlag(tx, normalizedUserId, dimensionIds) + await refreshMostRecentHistoryFlag(tx, normalizedUserId, dimensionIds, challengeClient) await updateMaxRating(tx, normalizedUserId, dimensionIds) }) diff --git a/src/ratings/ratingPathConfig.js b/src/ratings/ratingPathConfig.js index 9faa4bf..62fb6ca 100644 --- a/src/ratings/ratingPathConfig.js +++ b/src/ratings/ratingPathConfig.js @@ -15,6 +15,23 @@ function normalizeRatingPathName (value) { return String(value || '').trim().toUpperCase() } +/** + * Build the deterministic ChallengeType id used for a configured rating path. + * The rating engine stores path rows with this id so memberStats can keep a + * valid ChallengeType foreign key while API responses can still display the + * configured path name. + * @param {Object} ratingPath normalized or raw rating path config + * @returns {string} deterministic custom ChallengeType id + */ +function buildRatingPathTypeId (ratingPath) { + const slug = normalizeRatingPathName(ratingPath && ratingPath.name) + .toLowerCase() + .replace(/[^a-z0-9]+/g, '-') + .replace(/^-+|-+$/g, '') + + return `rating-path-${slug || 'custom'}` +} + /** * Normalize a challenge tag or skill id for case-insensitive matching. * @param {*} value raw challenge tag or skill id @@ -156,6 +173,24 @@ function getConfiguredRatingPath (entries, ratingName) { .find((entry) => entry.normalizedName === normalizedName) || null } +/** + * Find a configured rating path by its deterministic ChallengeType id. + * This supports stats reads and filters when the challenge dimension lookup + * cannot resolve a newly-created custom type row yet. + * @param {Array} entries raw or normalized rating path config entries + * @param {*} typeId stored ChallengeType id + * @returns {Object|null} normalized rating path config or null when not configured + */ +function getConfiguredRatingPathByTypeId (entries, typeId) { + const normalizedTypeId = String(typeId || '').trim().toLowerCase() + if (!normalizedTypeId) { + return null + } + + return normalizeRatingPathConfigs(entries) + .find((entry) => buildRatingPathTypeId(entry).toLowerCase() === normalizedTypeId) || null +} + /** * Check whether a challenge's tags and skills match a configured rating path. * Configured tags match when any tag is present. Configured skill ids match only @@ -204,11 +239,13 @@ module.exports = { DEFAULT_RATING_PATH_TRACK, RATING_PATH_TRACK_NAMES, normalizeRatingPathName, + buildRatingPathTypeId, normalizeRatingPathTag, normalizeRatingPathSkillId, normalizeRatingPathTrack, normalizeRatingPathConfig, normalizeRatingPathConfigs, getConfiguredRatingPath, + getConfiguredRatingPathByTypeId, challengeMatchesRatingPath } diff --git a/src/routes.js b/src/routes.js index d2ce764..13a396c 100644 --- a/src/routes.js +++ b/src/routes.js @@ -68,6 +68,14 @@ module.exports = { scopes: [MEMBERS.READ, MEMBERS.ALL] } }, + '/members/challenge-points/:challengeId': { + put: { + controller: 'MemberController', + method: 'updateChallengePoints', + auth: 'jwt', + scopes: [MEMBERS.UPDATE, MEMBERS.ALL] + } + }, '/members/:handle': { get: { controller: 'MemberController', diff --git a/src/scripts/backfill-member-challenge-points-from-finance.sql b/src/scripts/backfill-member-challenge-points-from-finance.sql new file mode 100644 index 0000000..4683c91 --- /dev/null +++ b/src/scripts/backfill-member-challenge-points-from-finance.sql @@ -0,0 +1,232 @@ +/* + * Backfill member profile challenge points from tc-finance-api point winnings. + * + * Usage: + * psql "$DATABASE_URL" \ + * -f src/scripts/backfill-member-challenge-points-from-finance.sql + * + * Assumptions: + * - Run this against a database connection that can see: + * - tc-finance-api tables in `public`: `winnings`, `payment` + * - member-api-v6 tables in `members`: `member`, `memberChallengePoints` + * - If challenge-api tables `public."Challenge"` and + * `public."ChallengeWinner"` are visible, the script uses them for exact + * challenge names and placements. + * - If challenge winner tables are not visible, placement falls back to: + * 1. parsing finance title/description strings like `Challenge - 1st Place` + * 2. ranking paid point totals within the challenge by points descending + * + * Safety: + * - Only latest installment-1 payment versions are considered. + * - Only finance rows with `winnings.type = POINTS`, `category = POINTS_AWARD`, + * `payment.currency = POINT`, and status `CREDITED` or `PAID` are copied. + * - Existing member-api rows are updated in place by `(challengeId, userId)`. + * - Rows for missing members are reported and skipped to preserve the FK. + */ + +\set ON_ERROR_STOP on + +BEGIN; + +CREATE TEMP TABLE _finance_member_challenge_points_backfill ON COMMIT DROP AS +WITH latest_payment_version AS ( + SELECT + p.winnings_id, + MAX(p.version) AS max_version + FROM public.payment p + WHERE COALESCE(p.installment_number, 1) = 1 + GROUP BY p.winnings_id +), +paid_point_winnings AS ( + SELECT + TRIM(w.external_id) AS challenge_id, + COALESCE(NULLIF(TRIM(w.title), ''), NULLIF(TRIM(w.description), ''), TRIM(w.external_id)) AS challenge_name, + w.description, + w.winner_id::bigint AS user_id, + p.total_amount::numeric AS points_amount, + COALESCE( + substring(w.description from ' - (?:Checkpoint )?([0-9]+)(?:st|nd|rd|th) Place$'), + substring(w.title from ' - (?:Checkpoint )?([0-9]+)(?:st|nd|rd|th) Place$') + )::integer AS parsed_placement + FROM public.winnings w + INNER JOIN latest_payment_version lpv + ON lpv.winnings_id = w.winning_id + INNER JOIN public.payment p + ON p.winnings_id = w.winning_id + AND p.version = lpv.max_version + AND COALESCE(p.installment_number, 1) = 1 + WHERE w.type::text = 'POINTS' + AND w.category::text = 'POINTS_AWARD' + AND p.payment_status::text IN ('CREDITED', 'PAID') + AND UPPER(COALESCE(p.currency, '')) = 'POINT' + AND w.external_id IS NOT NULL + AND TRIM(w.external_id) <> '' + AND w.winner_id ~ '^[0-9]+$' + AND COALESCE(p.total_amount, 0) > 0 +) +SELECT + challenge_id, + MAX(challenge_name) AS challenge_name, + user_id, + MIN(parsed_placement) AS placement, + GREATEST(0, ROUND(SUM(points_amount)))::integer AS points, + CASE + WHEN MIN(parsed_placement) IS NULL THEN NULL + ELSE 'finance_description' + END AS placement_source +FROM paid_point_winnings +GROUP BY challenge_id, user_id; + +DO $$ +BEGIN + IF to_regclass('public."ChallengeWinner"') IS NOT NULL THEN + IF to_regclass('public."Challenge"') IS NOT NULL THEN + EXECUTE $sql$ + WITH ranked_winners AS ( + SELECT DISTINCT ON (cw."challengeId", cw."userId") + cw."challengeId" AS challenge_id, + cw."userId"::bigint AS user_id, + cw."placement" AS placement, + c."name" AS challenge_name + FROM public."ChallengeWinner" cw + LEFT JOIN public."Challenge" c + ON c."id" = cw."challengeId" + WHERE cw."type"::text IN ('PLACEMENT', 'CHECKPOINT') + ORDER BY + cw."challengeId", + cw."userId", + CASE WHEN cw."type"::text = 'PLACEMENT' THEN 0 ELSE 1 END, + cw."placement" + ) + UPDATE _finance_member_challenge_points_backfill target + SET + placement = ranked_winners.placement, + challenge_name = COALESCE(NULLIF(TRIM(ranked_winners.challenge_name), ''), target.challenge_name), + placement_source = 'challenge_winner' + FROM ranked_winners + WHERE ranked_winners.challenge_id = target.challenge_id + AND ranked_winners.user_id = target.user_id + $sql$; + ELSE + EXECUTE $sql$ + WITH ranked_winners AS ( + SELECT DISTINCT ON (cw."challengeId", cw."userId") + cw."challengeId" AS challenge_id, + cw."userId"::bigint AS user_id, + cw."placement" AS placement + FROM public."ChallengeWinner" cw + WHERE cw."type"::text IN ('PLACEMENT', 'CHECKPOINT') + ORDER BY + cw."challengeId", + cw."userId", + CASE WHEN cw."type"::text = 'PLACEMENT' THEN 0 ELSE 1 END, + cw."placement" + ) + UPDATE _finance_member_challenge_points_backfill target + SET + placement = ranked_winners.placement, + placement_source = 'challenge_winner' + FROM ranked_winners + WHERE ranked_winners.challenge_id = target.challenge_id + AND ranked_winners.user_id = target.user_id + $sql$; + END IF; + END IF; +END $$; + +WITH inferred_placements AS ( + SELECT + challenge_id, + user_id, + ROW_NUMBER() OVER ( + PARTITION BY challenge_id + ORDER BY points DESC, user_id ASC + )::integer AS inferred_placement + FROM _finance_member_challenge_points_backfill + WHERE placement IS NULL +) +UPDATE _finance_member_challenge_points_backfill target +SET + placement = inferred_placements.inferred_placement, + placement_source = 'points_rank' +FROM inferred_placements +WHERE inferred_placements.challenge_id = target.challenge_id + AND inferred_placements.user_id = target.user_id; + +\echo Backfill source summary +SELECT + COUNT(*) AS source_rows, + COUNT(*) FILTER (WHERE placement_source = 'challenge_winner') AS challenge_winner_rows, + COUNT(*) FILTER (WHERE placement_source = 'finance_description') AS finance_description_rows, + COUNT(*) FILTER (WHERE placement_source = 'points_rank') AS points_rank_rows, + SUM(points) AS total_points +FROM _finance_member_challenge_points_backfill; + +\echo Rows skipped because the member does not exist in members.member +SELECT + source.challenge_id AS "challengeId", + source.challenge_name AS "challengeName", + source.user_id AS "userId", + source.placement, + source.points +FROM _finance_member_challenge_points_backfill source +LEFT JOIN members."member" member_row + ON member_row."userId" = source.user_id +WHERE member_row."userId" IS NULL +ORDER BY source.challenge_id, source.user_id +LIMIT 50; + +\echo Rows using inferred placement from point totals. Review these after the run. +SELECT + challenge_id AS "challengeId", + challenge_name AS "challengeName", + user_id AS "userId", + placement, + points +FROM _finance_member_challenge_points_backfill +WHERE placement_source = 'points_rank' +ORDER BY challenge_id, placement +LIMIT 50; + +INSERT INTO members."memberChallengePoints" ( + "challengeId", + "challengeName", + "userId", + "placement", + "points", + "createdAt", + "createdBy", + "updatedAt", + "updatedBy" +) +SELECT + source.challenge_id, + source.challenge_name, + source.user_id, + source.placement, + source.points, + NOW(), + 'finance-points-backfill', + NOW(), + 'finance-points-backfill' +FROM _finance_member_challenge_points_backfill source +INNER JOIN members."member" member_row + ON member_row."userId" = source.user_id +WHERE source.points > 0 + AND source.placement IS NOT NULL +ON CONFLICT ("challengeId", "userId") DO UPDATE +SET + "challengeName" = EXCLUDED."challengeName", + "placement" = EXCLUDED."placement", + "points" = EXCLUDED."points", + "updatedAt" = NOW(), + "updatedBy" = 'finance-points-backfill'; + +\echo Backfilled member challenge point rows +SELECT + COUNT(*) AS rows_in_member_api, + SUM("points") AS points_in_member_api +FROM members."memberChallengePoints" +WHERE "updatedBy" = 'finance-points-backfill'; + +COMMIT; diff --git a/src/scripts/dedupeMarathonMatchHistory.js b/src/scripts/dedupeMarathonMatchHistory.js new file mode 100644 index 0000000..8ca4104 --- /dev/null +++ b/src/scripts/dedupeMarathonMatchHistory.js @@ -0,0 +1,448 @@ +#!/usr/bin/env node +'use strict' + +/** + * Remove migrated numeric Marathon Match history rows that duplicate complete + * canonical UUID history rows. The cleanup is intended for environments where + * the members and challenges schemas are available in the same Postgres + * database, because it verifies duplicates against official Challenge API + * Marathon Match rows before deleting any history. + * + * Usage examples: + * - Preview duplicate rows for every member: + * node src/scripts/dedupeMarathonMatchHistory.js --dry-run + * - Preview duplicate rows for one member: + * node src/scripts/dedupeMarathonMatchHistory.js --dry-run --user-id 40562752 + * - Delete duplicate migrated rows after reviewing the dry-run output: + * node src/scripts/dedupeMarathonMatchHistory.js --apply --user-id 40562752 + */ + +require('dotenv').config() + +const { Prisma, getMembersClient } = require('../common/prisma') + +const CLEANUP_ACTOR = 'dedupe-mm-history' +const DEFAULT_SAMPLE_LIMIT = 20 + +/** + * Parse a positive integer CLI option. + * @param {string} name option name used in error messages + * @param {*} value option value + * @returns {number} parsed integer + * @throws {Error} when the value is missing or not a positive integer + */ +function parsePositiveIntegerOption (name, value) { + if (value === undefined || value === null || String(value).trim() === '') { + throw new Error(`${name} requires a positive integer value`) + } + + const parsed = Number(value) + if (!Number.isInteger(parsed) || parsed <= 0) { + throw new Error(`${name} must be a positive integer`) + } + + return parsed +} + +/** + * Convert a user or history identifier to BigInt for raw Prisma parameters. + * @param {*} value numeric identifier + * @returns {BigInt} parsed identifier + * @throws {Error} when the value is not an integer identifier + */ +function toBigIntId (value) { + if (value === undefined || value === null || String(value).trim() === '') { + throw new Error('Expected a numeric identifier') + } + + if (!/^\d+$/.test(String(value).trim())) { + throw new Error(`Expected a numeric identifier, got ${value}`) + } + + return global.BigInt(String(value).trim()) +} + +/** + * Parse dedupeMarathonMatchHistory command-line arguments. + * @param {Array} argv command-line arguments without node/script names + * @returns {Object} parsed options + * @throws {Error} when an option is unknown or invalid + */ +function parseArgs (argv) { + const options = { + dryRun: true, + userId: null, + limit: null, + help: false + } + + for (let index = 0; index < argv.length; index += 1) { + const arg = argv[index] + + if (arg === '--dry-run') { + options.dryRun = true + } else if (arg === '--') { + continue + } else if (arg === '--apply') { + options.dryRun = false + } else if (arg === '--user-id') { + options.userId = String(parsePositiveIntegerOption('--user-id', argv[index + 1])) + index += 1 + } else if (arg.startsWith('--user-id=')) { + options.userId = String(parsePositiveIntegerOption('--user-id', arg.slice('--user-id='.length))) + } else if (arg === '--limit') { + options.limit = parsePositiveIntegerOption('--limit', argv[index + 1]) + index += 1 + } else if (arg.startsWith('--limit=')) { + options.limit = parsePositiveIntegerOption('--limit', arg.slice('--limit='.length)) + } else if (arg === '--help' || arg === '-h') { + options.help = true + } else { + throw new Error(`Unknown option ${arg}`) + } + } + + return options +} + +/** + * Print command-line usage for the cleanup script. + * @returns {void} + */ +function printUsage () { + console.log(` +Usage: + node src/scripts/dedupeMarathonMatchHistory.js [options] + +Options: + --dry-run Preview duplicate rows without deleting anything (default) + --apply Delete duplicate migrated numeric history rows + --user-id Restrict cleanup to one member userId + --limit Limit rows returned or deleted in this run + --help Show this message + +Examples: + node src/scripts/dedupeMarathonMatchHistory.js --dry-run --user-id 40562752 + node src/scripts/dedupeMarathonMatchHistory.js --apply --user-id 40562752 +`) +} + +/** + * Connect a Prisma-style client when the client exposes $connect. + * @param {Object} client Prisma client or test double + * @returns {Promise} resolves when connected + */ +async function connectClient (client) { + if (client && typeof client.$connect === 'function') { + await client.$connect() + } +} + +/** + * Disconnect a Prisma-style client when the client exposes $disconnect. + * @param {Object} client Prisma client or test double + * @returns {Promise} resolves when disconnected + */ +async function disconnectClient (client) { + if (client && typeof client.$disconnect === 'function') { + await client.$disconnect() + } +} + +/** + * Find migrated numeric Marathon Match history rows that have an authoritative + * canonical UUID replacement for the same user and MM round number. + * @param {Object} membersClient Prisma members client connected to the unified database + * @param {Object} options parsed script options + * @param {string|null} options.userId optional member userId filter + * @param {number|null} options.limit optional maximum duplicate rows to return + * @returns {Promise>} duplicate row metadata + */ +async function findDuplicateHistoryRows (membersClient, options = {}) { + const userFilter = options.userId + ? Prisma.sql`AND h."userId" = ${toBigIntId(options.userId)}` + : Prisma.empty + const limitClause = options.limit + ? Prisma.sql`LIMIT ${options.limit}` + : Prisma.empty + + return membersClient.$queryRaw` + WITH "nativeDimension" AS ( + SELECT + ( + SELECT ct.id + FROM "challenges"."ChallengeTrack" ct + WHERE UPPER(ct.name) = 'DATA SCIENCE' + OR UPPER(ct.abbreviation) = 'DS' + LIMIT 1 + ) AS "trackId", + ( + SELECT ctype.id + FROM "challenges"."ChallengeType" ctype + WHERE UPPER(ctype.name) IN ('MARATHON MATCH', 'MARATHON_MATCH') + OR UPPER(ctype.abbreviation) = 'MM' + LIMIT 1 + ) AS "typeId" + ), + "legacyRows" AS ( + SELECT DISTINCT ON (h.id) + h.id AS "legacyHistoryId", + h."userId", + h."challengeId" AS "legacyChallengeId", + h."eventDate" AS "legacyEventDate", + h."newRating" AS "legacyNewRating", + h.placement AS "legacyPlacement", + dsh."challengeName" AS "legacyChallengeName", + substring( + dsh."challengeName" + from '(?i)(?:MM|Marathon Match)[[:space:]]*#?[[:space:]]*([0-9]+)' + ) AS "matchNumber" + FROM "members"."memberStatsHistory" h + JOIN "members"."memberHistoryStats" mhs + ON mhs."userId" = h."userId" + JOIN "members"."memberDataScienceHistoryStats" dsh + ON dsh."historyStatsId" = mhs.id + AND dsh."challengeId"::text = h."challengeId" + AND dsh."subTrack" = 'MARATHON_MATCH' + CROSS JOIN "nativeDimension" d + WHERE h."trackId" IN (d."trackId", 'DATA_SCIENCE') + AND h."typeId" IN (d."typeId", 'MARATHON_MATCH') + AND h."challengeId" ~ '^[0-9]+$' + ${userFilter} + ORDER BY h.id, dsh."historyStatsId" + ), + "canonicalRows" AS ( + SELECT + h.id AS "canonicalHistoryId", + h."userId", + h."challengeId" AS "canonicalChallengeId", + h."eventDate" AS "canonicalEventDate", + h."newRating" AS "canonicalNewRating", + h.placement AS "canonicalPlacement", + c.name AS "canonicalChallengeName", + substring( + c.name + from '(?i)(?:MM|Marathon Match)[[:space:]]*#?[[:space:]]*([0-9]+)' + ) AS "matchNumber" + FROM "members"."memberStatsHistory" h + JOIN "challenges"."Challenge" c + ON c.id = h."challengeId" + CROSS JOIN "nativeDimension" d + WHERE h."trackId" IN (d."trackId", 'DATA_SCIENCE') + AND h."typeId" IN (d."typeId", 'MARATHON_MATCH') + AND c."typeId" = d."typeId" + AND h."challengeId" !~ '^[0-9]+$' + AND h."newRating" IS NOT NULL + AND h.placement IS NOT NULL + AND h.placement > 0 + AND ( + h."createdBy" IN ('rerate-mm-stats', 'rerate-member-stats') + OR h."updatedBy" IN ('rerate-mm-stats', 'rerate-member-stats') + ) + ${userFilter} + ), + "canonicalHistory" AS ( + SELECT DISTINCT ON ("userId", "matchNumber") + * + FROM "canonicalRows" + WHERE "matchNumber" IS NOT NULL + ORDER BY "userId", "matchNumber", "canonicalEventDate" DESC NULLS LAST, "canonicalHistoryId" DESC + ) + SELECT + legacy."legacyHistoryId", + legacy."userId", + legacy."matchNumber", + legacy."legacyChallengeId", + legacy."legacyChallengeName", + legacy."legacyEventDate", + legacy."legacyNewRating", + legacy."legacyPlacement", + canonical."canonicalHistoryId", + canonical."canonicalChallengeId", + canonical."canonicalChallengeName", + canonical."canonicalEventDate", + canonical."canonicalNewRating", + canonical."canonicalPlacement" + FROM "legacyRows" legacy + JOIN "canonicalHistory" canonical + ON canonical."userId" = legacy."userId" + AND canonical."matchNumber" = legacy."matchNumber" + WHERE legacy."matchNumber" IS NOT NULL + ORDER BY legacy."userId", legacy."matchNumber"::integer, legacy."legacyEventDate", legacy."legacyHistoryId" + ${limitClause} + ` +} + +/** + * Delete duplicate migrated history rows and repair mostRecent flags for + * affected native Marathon Match histories. + * @param {Object} membersClient Prisma members client connected to the unified database + * @param {Array} duplicateRows duplicate rows returned by findDuplicateHistoryRows + * @returns {Promise} deletion summary + */ +async function deleteDuplicateHistoryRows (membersClient, duplicateRows) { + const legacyHistoryIds = Array.from(new Set( + duplicateRows.map(row => String(row.legacyHistoryId)) + )).map(toBigIntId) + const userIds = Array.from(new Set( + duplicateRows.map(row => String(row.userId)) + )).map(toBigIntId) + + if (legacyHistoryIds.length === 0) { + return { + deletedRows: 0, + usersRefreshed: 0 + } + } + + return membersClient.$transaction(async (tx) => { + const deletedRows = await tx.$executeRaw` + DELETE FROM "members"."memberStatsHistory" + WHERE id IN (${Prisma.join(legacyHistoryIds)}) + ` + + await tx.$executeRaw` + WITH "nativeDimension" AS ( + SELECT + ( + SELECT ct.id + FROM "challenges"."ChallengeTrack" ct + WHERE UPPER(ct.name) = 'DATA SCIENCE' + OR UPPER(ct.abbreviation) = 'DS' + LIMIT 1 + ) AS "trackId", + ( + SELECT ctype.id + FROM "challenges"."ChallengeType" ctype + WHERE UPPER(ctype.name) IN ('MARATHON MATCH', 'MARATHON_MATCH') + OR UPPER(ctype.abbreviation) = 'MM' + LIMIT 1 + ) AS "typeId" + ), + "rankedHistory" AS ( + SELECT + h.id, + ROW_NUMBER() OVER ( + PARTITION BY h."userId" + ORDER BY h."eventDate" DESC NULLS LAST, h.id DESC + ) AS "historyRank" + FROM "members"."memberStatsHistory" h + CROSS JOIN "nativeDimension" d + WHERE h."userId" IN (${Prisma.join(userIds)}) + AND h."trackId" IN (d."trackId", 'DATA_SCIENCE') + AND h."typeId" IN (d."typeId", 'MARATHON_MATCH') + ) + UPDATE "members"."memberStatsHistory" h + SET + "mostRecent" = ranked."historyRank" = 1, + "updatedAt" = NOW(), + "updatedBy" = ${CLEANUP_ACTOR} + FROM "rankedHistory" ranked + WHERE h.id = ranked.id + AND h."mostRecent" IS DISTINCT FROM (ranked."historyRank" = 1) + ` + + return { + deletedRows, + usersRefreshed: userIds.length + } + }) +} + +/** + * Summarize duplicate rows for console output. + * @param {Array} rows duplicate rows + * @returns {Array} formatted sample rows + */ +function formatDuplicateSample (rows) { + return rows.slice(0, DEFAULT_SAMPLE_LIMIT).map((row) => ({ + userId: String(row.userId), + matchNumber: row.matchNumber, + legacyHistoryId: String(row.legacyHistoryId), + legacyChallengeId: String(row.legacyChallengeId), + legacyChallengeName: row.legacyChallengeName, + legacyPlacement: row.legacyPlacement, + legacyNewRating: row.legacyNewRating, + canonicalHistoryId: String(row.canonicalHistoryId), + canonicalChallengeId: String(row.canonicalChallengeId), + canonicalChallengeName: row.canonicalChallengeName, + canonicalPlacement: row.canonicalPlacement, + canonicalNewRating: row.canonicalNewRating + })) +} + +/** + * Run the duplicate migrated Marathon Match history cleanup. + * @param {Object} options parsed script options + * @param {Object} dependencies optional clients for tests + * @returns {Promise} cleanup summary + */ +async function run (options, dependencies = {}) { + const membersClient = dependencies.membersClient || getMembersClient() + const shouldDisconnect = dependencies.disconnect !== false + + try { + await connectClient(membersClient) + + const duplicateRows = await findDuplicateHistoryRows(membersClient, options) + console.log(`Found ${duplicateRows.length} duplicate migrated Marathon Match history row(s).`) + const sample = formatDuplicateSample(duplicateRows) + if (sample.length > 0) { + console.table(sample) + } + + if (options.dryRun) { + console.log('Dry run complete. Re-run with --apply to delete these migrated duplicate rows.') + return { + dryRun: true, + duplicateRows: duplicateRows.length, + deletedRows: 0, + usersRefreshed: 0 + } + } + + const deletion = await deleteDuplicateHistoryRows(membersClient, duplicateRows) + console.log(`Deleted ${deletion.deletedRows} migrated duplicate history row(s).`) + + return { + dryRun: false, + duplicateRows: duplicateRows.length, + deletedRows: deletion.deletedRows, + usersRefreshed: deletion.usersRefreshed + } + } finally { + if (shouldDisconnect) { + await disconnectClient(membersClient) + } + } +} + +if (require.main === module) { + try { + const options = parseArgs(process.argv.slice(2)) + if (options.help) { + printUsage() + } else { + run(options) + .then((summary) => { + console.log(JSON.stringify(summary, null, 2)) + }) + .catch((error) => { + console.error('Marathon Match history dedupe failed:', error) + process.exitCode = 1 + }) + } + } catch (error) { + console.error('Marathon Match history dedupe failed:', error) + process.exitCode = 1 + } +} + +module.exports = { + parseArgs, + printUsage, + findDuplicateHistoryRows, + deleteDuplicateHistoryRows, + formatDuplicateSample, + run +} diff --git a/src/scripts/rerateMarathonMatches.js b/src/scripts/rerateMarathonMatches.js index 402f4fd..79042a4 100644 --- a/src/scripts/rerateMarathonMatches.js +++ b/src/scripts/rerateMarathonMatches.js @@ -110,8 +110,42 @@ function buildReviewChallengeIds (challenge) { } /** - * Merge ordered Marathon Match history sources while preserving every known - * challenge id alias for review-api lookups. + * Extract a Marathon Match round number from a challenge display name. + * @param {*} value challenge name + * @returns {string|null} Marathon Match number, or null when unavailable + */ +function extractMarathonMatchNumber (value) { + const name = String(value || '').trim() + if (!name) { + return null + } + + const match = name.match(/\b(?:MM|MARATHON\s+MATCH)\s*#?\s*(\d+)\b/i) + return match ? match[1] : null +} + +/** + * Build aliases used to merge Challenge API and migrated MM history entries. + * @param {Object} historyEntry challenge history entry + * @returns {Array} duplicate-detection aliases + */ +function buildMarathonHistoryAliasKeys (historyEntry) { + const aliases = new Set() + addChallengeIdCandidate(aliases, historyEntry && historyEntry.challengeId) + ;((historyEntry && historyEntry.reviewChallengeIds) || []).forEach((alias) => addChallengeIdCandidate(aliases, alias)) + + const matchNumber = extractMarathonMatchNumber(historyEntry && historyEntry.challengeName) + if (matchNumber) { + aliases.add(`match:${matchNumber}`) + } + + return Array.from(aliases) +} + +/** + * Merge ordered Marathon Match history sources while preserving every real + * challenge id alias for review-api lookups. Non-id aliases such as MM round + * numbers are used only for duplicate detection and are not sent to review-api. * @param {...Array} historySources ordered history arrays * @returns {Array} merged and sorted challenge history */ @@ -124,12 +158,13 @@ function mergeMarathonHistories (...historySources) { return } - const aliases = new Set() - addChallengeIdCandidate(aliases, historyEntry.challengeId) - ;(historyEntry.reviewChallengeIds || []).forEach((alias) => addChallengeIdCandidate(aliases, alias)) + const reviewChallengeIds = new Set() + addChallengeIdCandidate(reviewChallengeIds, historyEntry.challengeId) + ;(historyEntry.reviewChallengeIds || []).forEach((alias) => addChallengeIdCandidate(reviewChallengeIds, alias)) + const mergeAliases = new Set(buildMarathonHistoryAliasKeys(historyEntry)) let key - for (const alias of aliases) { + for (const alias of mergeAliases) { if (aliasToKey.has(alias)) { key = aliasToKey.get(alias) break @@ -141,23 +176,25 @@ function mergeMarathonHistories (...historySources) { const existing = historyByKey.get(key) if (existing) { - const reviewChallengeIds = new Set(existing.reviewChallengeIds || [existing.challengeId]) - aliases.forEach((alias) => reviewChallengeIds.add(alias)) - existing.reviewChallengeIds = Array.from(reviewChallengeIds) + const existingReviewChallengeIds = new Set(existing.reviewChallengeIds || [existing.challengeId]) + reviewChallengeIds.forEach((alias) => existingReviewChallengeIds.add(alias)) + existing.reviewChallengeIds = Array.from(existingReviewChallengeIds) if (historyEntry.eventDate.getTime() < existing.eventDate.getTime()) { existing.eventDate = historyEntry.eventDate } existing.typeId = existing.typeId || historyEntry.typeId || null existing.trackId = existing.trackId || historyEntry.trackId || null + existing.challengeName = existing.challengeName || historyEntry.challengeName } else { historyByKey.set(key, { ...historyEntry, challengeId: String(historyEntry.challengeId), - reviewChallengeIds: Array.from(aliases) + challengeName: historyEntry.challengeName || null, + reviewChallengeIds: Array.from(reviewChallengeIds) }) } - aliases.forEach((alias) => aliasToKey.set(alias, key)) + mergeAliases.forEach((alias) => aliasToKey.set(alias, key)) }) const history = Array.from(historyByKey.values()) @@ -502,6 +539,7 @@ async function fetchMarathonMatchHistory (challengeClient) { }, select: { id: true, + name: true, legacyId: true, endDate: true, status: true, @@ -543,6 +581,7 @@ async function fetchMarathonMatchHistory (challengeClient) { history.push({ challengeId: String(challenge.id), + challengeName: challenge.name || null, reviewChallengeIds: buildReviewChallengeIds(challenge), eventDate, typeId: String(challenge.typeId), @@ -594,8 +633,8 @@ function resolveMarathonMatchRankDimensionIds (marathonHistoryResult, persistedH /** * Load distinct Marathon Match challenge IDs already present in unified member - * history. This catches migrated legacy MM rows that are visible in member stats - * history but are not classified as ChallengeType MARATHON_MATCH in challenge-api. + * history. Migrated legacy challenge names are included when available so those + * rows can be merged with canonical Challenge API rows by MM round number. * @param {Object} membersClient Prisma members client * @param {Object} challengeClient Prisma challenge client for dimension lookup * @returns {Promise} resolved dimension ids and ordered persisted history @@ -616,18 +655,30 @@ async function fetchPersistedMarathonMatchHistory (membersClient, challengeClien const trackIds = Array.from(new Set([dataScienceTrackId, TRACK_NAMES.DATA_SCIENCE].filter(Boolean))) const typeIds = Array.from(new Set([marathonMatchTypeId, TYPE_NAMES.MARATHON_MATCH].filter(Boolean))) const rows = await membersClient.$queryRaw` - SELECT "challengeId", MIN("eventDate") AS "eventDate" - FROM "members"."memberStatsHistory" - WHERE "trackId" IN (${Prisma.join(trackIds)}) - AND "typeId" IN (${Prisma.join(typeIds)}) - AND "challengeId" IS NOT NULL - AND "eventDate" IS NOT NULL - GROUP BY "challengeId" + WITH "historyChallenge" AS ( + SELECT "challengeId", MIN("eventDate") AS "eventDate" + FROM "members"."memberStatsHistory" + WHERE "trackId" IN (${Prisma.join(trackIds)}) + AND "typeId" IN (${Prisma.join(typeIds)}) + AND "challengeId" IS NOT NULL + AND "eventDate" IS NOT NULL + GROUP BY "challengeId" + ) + SELECT + hc."challengeId", + hc."eventDate", + MIN(dsh."challengeName") AS "challengeName" + FROM "historyChallenge" hc + LEFT JOIN "members"."memberDataScienceHistoryStats" dsh + ON dsh."challengeId"::text = hc."challengeId" + AND dsh."subTrack" = 'MARATHON_MATCH' + GROUP BY hc."challengeId", hc."eventDate" ` const history = rows .map((row) => ({ challengeId: String(row.challengeId), + challengeName: row.challengeName || null, reviewChallengeIds: [String(row.challengeId)], eventDate: toDateOrNull(row.eventDate), typeId: marathonMatchTypeId, diff --git a/src/scripts/rerateRatingPath.js b/src/scripts/rerateRatingPath.js index ad26094..4036f05 100644 --- a/src/scripts/rerateRatingPath.js +++ b/src/scripts/rerateRatingPath.js @@ -11,13 +11,13 @@ * * Usage examples: * - Dry-run discovery: - * node src/scripts/rerateRatingPath.js --rating-name AI --dry-run + * node src/scripts/rerateRatingPath.js --rating-name "AI Engineering" --dry-run * - Re-rate every discovered member: - * node src/scripts/rerateRatingPath.js --rating-name AI --concurrency 5 + * node src/scripts/rerateRatingPath.js --rating-name "AI Engineering" --concurrency 5 * - Re-rate a bounded sample: - * node src/scripts/rerateRatingPath.js --rating-name AI --limit 100 + * node src/scripts/rerateRatingPath.js --rating-name "AI Engineering" --limit 100 * - Re-rate specific users by userId: - * node src/scripts/rerateRatingPath.js --rating-name AI --user-id 12345 --user-ids 67890,24680 + * node src/scripts/rerateRatingPath.js --rating-name "AI Engineering" --user-id 12345 --user-ids 67890,24680 * * Notes: * - Handles are not required. The script discovers participating user IDs from diff --git a/src/services/MemberService.js b/src/services/MemberService.js index 5a027b2..6489b8e 100644 --- a/src/services/MemberService.js +++ b/src/services/MemberService.js @@ -2,6 +2,8 @@ * This service provides operations of members. */ +/* global BigInt */ + const _ = require('lodash') const Joi = require('joi') const crypto = require('crypto') @@ -42,7 +44,8 @@ const moment = require('moment-timezone') const MEMBER_FIELDS = ['userId', 'handle', 'handleLower', 'firstName', 'lastName', 'tracks', 'status', 'addresses', 'description', 'email', 'country', 'homeCountryCode', 'competitionCountryCode', 'photoURL', 'verified', 'maxRating', 'createdAt', 'createdBy', 'updatedAt', 'updatedBy', 'loginCount', 'lastLoginDate', 'skills', 'availableForGigs', - 'skillScoreDeduction', 'namesAndHandleAppearance', 'lastProfileConfirmationDate', 'availableForGigsLastUpdateDate', 'identityVerified', 'recentActivity'] + 'skillScoreDeduction', 'namesAndHandleAppearance', 'lastProfileConfirmationDate', 'availableForGigsLastUpdateDate', 'identityVerified', 'recentActivity', + 'challengePoints'] const INTERNAL_MEMBER_FIELDS = ['newEmail', 'emailVerifyToken', 'emailVerifyTokenDate', 'newEmailVerifyToken', 'newEmailVerifyTokenDate', 'handleSuggest', 'lastProfileConfirmationDate', 'availableForGigsLastUpdateDate'] @@ -51,6 +54,33 @@ const SENDGRID_BASE_URL = 'https://api.sendgrid.com' const SENDGRID_EMAIL_ACTIVITY_LOOKBACK_DAYS = 30 const SENDGRID_EMAIL_ACTIVITY_RESULT_LIMIT = 20 +/** + * Determine whether the member has completed engagement availability. + * A member completes this section by either choosing not to be open to work, + * or by choosing to be open to work with an availability value. Legacy data + * with nested preferred roles is still accepted as complete. + * @param {Object} member the member profile data + * @param {Object} openToWorkData the personalization open-to-work trait value + * @returns {Boolean} true when engagement availability is complete + */ +function isEngagementAvailabilityComplete (member, openToWorkData) { + if (!openToWorkData) { + return false + } + + const hasAvailability = !!openToWorkData.availability + const hasLegacyPreferredRoles = !!( + openToWorkData.preferredRoles && + openToWorkData.preferredRoles.length + ) + + if (member.availableForGigs === false) { + return true + } + + return hasAvailability || hasLegacyPreferredRoles +} + /** * Resolve compact memberStats track/type UUIDs before deriving current * maxRating labels for member profile responses. @@ -196,6 +226,40 @@ async function getMemberRecentActivity (userId) { } } +/** + * Build the profile challenge-point summary from stored challenge point rows. + * @param {Array} challengePointRows Stored memberChallengePoints rows + * @returns {Object} Public challenge point summary with total, count, and details + */ +function buildChallengePointsSummary (challengePointRows) { + const details = _.map(challengePointRows || [], row => ({ + challengeId: row.challengeId, + challengeName: row.challengeName, + userId: helper.bigIntToNumber(row.userId), + placement: row.placement, + points: row.points + })) + + return { + total: _.sumBy(details, 'points'), + challenges: details.length, + details + } +} + +/** + * Replace loaded challenge-point rows on a member response with a public summary. + * @param {Object} member Prisma member payload that may include challengePoints + * @returns {void} + */ +function applyChallengePointsSummary (member) { + if (!member || !_.has(member, 'challengePoints')) { + return + } + + member.challengePoints = buildChallengePointsSummary(member.challengePoints) +} + const countryCodes = countryCallingCodes.codes || [] /** @@ -239,6 +303,14 @@ async function getMemberData (handle, query, allowedFields = MEMBER_FIELDS) { if (_.includes(selectFields, 'phones')) { prismaFilter.include.phones = true } + if (_.includes(selectFields, 'challengePoints')) { + prismaFilter.include.challengePoints = { + orderBy: [ + { createdAt: 'desc' }, + { challengeId: 'asc' } + ] + } + } // To keep original business logic, let's use findMany const member = await prisma.member.findUnique(prismaFilter) @@ -301,6 +373,7 @@ async function getMember (currentUser, handle, query) { // convert members data structure to response await annotateCurrentMaxRatingStats(member) prismaHelper.convertMember(member) + applyChallengePointsSummary(member) // Query identity verification status from finance schema if user has permission if (canSeeIdentityVerified) { @@ -365,6 +438,79 @@ getMember.schema = { }) } +/** + * Normalize a challenge-point write payload into rows safe for persistence. + * @param {String} challengeId Challenge identifier whose rows are being replaced + * @param {Object} data Request body with challengeName and points entries + * @param {String} operatorId Audit identifier for create/update metadata + * @returns {Array} Normalized memberChallengePoints createMany rows + */ +function buildChallengePointWriteRows (challengeId, data, operatorId) { + const challengeName = data.challengeName.trim() + const rowsByUserId = new Map() + + _.forEach(data.points, item => { + const userId = BigInt(item.userId) + rowsByUserId.set(userId.toString(), { + challengeId, + challengeName, + userId, + placement: Number(item.placement), + points: Number(item.points), + createdBy: operatorId, + updatedBy: operatorId + }) + }) + + return Array.from(rowsByUserId.values()) +} + +/** + * Replace all challenge-point rows for one challenge. + * @param {Object} currentUser the user who performs operation + * @param {String} challengeId challenge identifier whose point rows should be stored + * @param {Object} data request body with challengeName and points rows + * @returns {Object} update summary with challenge id and row count + */ +async function updateChallengePoints (currentUser, challengeId, data) { + const operatorId = String(currentUser && (currentUser.userId || currentUser.sub) ? (currentUser.userId || currentUser.sub) : 'member-api') + const rows = buildChallengePointWriteRows(challengeId, data, operatorId) + + await prisma.$transaction(async tx => { + await tx.memberChallengePoints.deleteMany({ + where: { challengeId } + }) + + if (rows.length > 0) { + await tx.memberChallengePoints.createMany({ + data: rows + }) + } + }) + + return { + challengeId, + challengeName: data.challengeName.trim(), + updated: rows.length + } +} + +updateChallengePoints.schema = { + currentUser: Joi.any(), + challengeId: Joi.string().trim().required(), + data: Joi.object().keys({ + challengeName: Joi.string().trim().required(), + points: Joi.array().items(Joi.object().keys({ + userId: Joi.alternatives().try( + Joi.number().integer().positive(), + Joi.string().regex(/^\d+$/) + ).required(), + placement: Joi.number().integer().positive().required(), + points: Joi.number().integer().min(0).required() + })).required() + }).required() +} + /** * Build query string for SendGrid email activity API. * @param {String} email recipient email @@ -449,7 +595,7 @@ async function getProfileCompleteness (currentUser, handle, query) { const memberTraits = await memberTraitService.getTraits(currentUser, handle, {}) // Avoid getting the member stats, since we don't need them here, and performance is // better without them - const memberFields = { 'fields': 'userId,handle,handleLower,photoURL,description,skills,verified,lastProfileConfirmationDate,updatedAt,addresses' } + const memberFields = { 'fields': 'userId,handle,handleLower,photoURL,description,skills,verified,lastProfileConfirmationDate,updatedAt,availableForGigs,addresses' } const member = await getMemberData(handle, memberFields) // Used for calculating the percentComplete @@ -501,10 +647,7 @@ async function getProfileCompleteness (currentUser, handle, query) { const openToWorkTrait = item.traits.data.find(r => Object.keys(r).includes('openToWork')) || {} const openToWorkData = openToWorkTrait.openToWork - if (openToWorkData && ( - !openToWorkData.availability || - (openToWorkData.preferredRoles && openToWorkData.preferredRoles.length) - )) { + if (isEngagementAvailabilityComplete(member, openToWorkData)) { completeItems += 1 data.engagementAvailability = true data.engagementAvailabilityLastUpdateDate = new Date(item.updatedAt).toISOString() @@ -2233,6 +2376,7 @@ module.exports = { getProfileCompleteness, getMemberUserIdSignature, getMemberSkill, + updateChallengePoints, updateMember, updateHandle, verifyEmail, diff --git a/src/services/SearchService.js b/src/services/SearchService.js index 82f1190..9d0f87b 100644 --- a/src/services/SearchService.js +++ b/src/services/SearchService.js @@ -433,8 +433,13 @@ async function addStats (results) { where: { userId: { in: userIds } }, include: prismaHelper.unifiedStatsIncludeParams }) + let annotatedMemberStatsList = memberStatsList + if (memberStatsList.length > 0) { + const dimensionLookup = await loadChallengeDimensionLookup(prismaManager.getChallengesClient()) + annotatedMemberStatsList = prismaHelper.annotateStatsRowsWithDimensionNames(memberStatsList, dimensionLookup) + } // merge overall members and stats - const mbrsSkillsStatsKeys = _.groupBy(memberStatsList, item => helper.bigIntToNumber(item.userId)) + const mbrsSkillsStatsKeys = _.groupBy(annotatedMemberStatsList, item => helper.bigIntToNumber(item.userId)) const resultsWithStats = _.map(results, item => { item.numberOfChallengesWon = 0 item.numberOfChallengesPlaced = 0 diff --git a/src/services/StatisticsService.js b/src/services/StatisticsService.js index 50c99c4..346716b 100644 --- a/src/services/StatisticsService.js +++ b/src/services/StatisticsService.js @@ -26,8 +26,10 @@ const { rerateMmTrack } = require('../ratings/mmRatingEngine') const { + buildRatingPathTypeId, challengeMatchesRatingPath, getConfiguredRatingPath, + getConfiguredRatingPathByTypeId, normalizeRatingPathConfigs } = require('../ratings/ratingPathConfig') const { @@ -64,11 +66,14 @@ if (!_.includes(SUPPORTED_STATS_READ_SOURCES, configuredStatsReadSource)) { } const USE_LEGACY_STATS_READS = configuredStatsReadSource === LEGACY_STATS_READ_SOURCE const RATING_SOURCE_DEVELOPMENT = 'DEVELOPMENT_CHALLENGE' +const RATING_SOURCE_DATA_SCIENCE_CHALLENGE = 'DATA_SCIENCE_CHALLENGE' const RATING_SOURCE_MARATHON_MATCH = 'MARATHON_MATCH' const RERATE_MARATHON_ACTOR = 'rerate-mm-stats' +const CHALLENGE_TRACK_QUALITY_ASSURANCE = 'QUALITY_ASSURANCE' const CHALLENGE_WINNER_PLACEMENT_TYPE = 'PLACEMENT' const CHALLENGE_WINNER_PASSED_REVIEW_TYPE = 'PASSED_REVIEW' const CHALLENGE_WINNER_HISTORY_TYPES = [CHALLENGE_WINNER_PLACEMENT_TYPE, CHALLENGE_WINNER_PASSED_REVIEW_TYPE] +const CHALLENGE_WINNER_RATING_TYPES = [CHALLENGE_WINNER_PLACEMENT_TYPE] /** * Join Prisma SQL condition fragments with a literal AND separator. @@ -360,6 +365,38 @@ function isChallengeRatingEnabled (challenge) { return isChallengeRated(challenge) } +/** + * Normalize challenge track labels for source-routing checks. + * @param {*} value raw challenge track label, enum value, or abbreviation + * @returns {string} uppercase source track key + */ +function normalizeChallengeSourceTrack (value) { + return String(value || '') + .trim() + .toUpperCase() + .replace(/[\s-]+/g, '_') +} + +/** + * Check whether a challenge source track is Quality Assurance. + * QA Challenge results are rated in the public Data Science Challenge bucket. + * @param {*} value raw challenge track label, enum value, or abbreviation + * @returns {boolean} true when the source track is QA + */ +function isQualityAssuranceChallengeSourceTrack (value) { + const normalizedTrack = normalizeChallengeSourceTrack(value) + return normalizedTrack === CHALLENGE_TRACK_QUALITY_ASSURANCE || normalizedTrack === 'QA' +} + +/** + * Build the source tracks replayed for Data Science Challenge ratings. + * QA Challenges share the public Data Science Challenge rating bucket. + * @returns {Array} challenge source track labels + */ +function getDataScienceChallengeSourceTrackNames () { + return [TRACK_NAMES.DATA_SCIENCE, CHALLENGE_TRACK_QUALITY_ASSURANCE] +} + /** * Load challenge metadata needed to decide which ratings apply. * @param {Object} challengeClient prisma challenge client @@ -401,7 +438,8 @@ async function fetchChallengeForRatingUpdate (challengeClient, challengeId) { typeId: true, track: { select: { - name: true + name: true, + track: true } }, type: { @@ -422,18 +460,26 @@ async function fetchChallengeForRatingUpdate (challengeClient, challengeId) { /** * Resolve the rating source supported by the engines for a challenge. + * Marathon Match challenges are type-driven because some Challenge API rows + * carry the Development track while still belonging to the MM rating stream. * @param {Object} challenge challenge metadata row * @returns {string|null} source identifier or null when unsupported */ function resolveChallengeRatingSource (challenge) { - const trackName = getCanonicalTrackName(_.get(challenge, 'track.name') || _.get(challenge, 'trackId')) + const rawTrackName = _.get(challenge, 'track.track') || _.get(challenge, 'track.name') || _.get(challenge, 'trackId') + const trackName = getCanonicalTrackName(rawTrackName) const typeName = getCanonicalTypeName(_.get(challenge, 'type.name') || _.get(challenge, 'typeId')) if (trackName === TRACK_NAMES.DEVELOP && typeName === TYPE_NAMES.CHALLENGE) { return RATING_SOURCE_DEVELOPMENT } - if (trackName === TRACK_NAMES.DATA_SCIENCE && typeName === TYPE_NAMES.MARATHON_MATCH) { + if ((trackName === TRACK_NAMES.DATA_SCIENCE || isQualityAssuranceChallengeSourceTrack(rawTrackName)) && + typeName === TYPE_NAMES.CHALLENGE) { + return RATING_SOURCE_DATA_SCIENCE_CHALLENGE + } + + if (typeName === TYPE_NAMES.MARATHON_MATCH) { return RATING_SOURCE_MARATHON_MATCH } @@ -459,6 +505,14 @@ function buildBaseRatingJob (challenge, source) { } } + if (source === RATING_SOURCE_DATA_SCIENCE_CHALLENGE) { + return { + source, + trackId: TRACK_NAMES.DATA_SCIENCE, + typeId: TYPE_NAMES.CHALLENGE + } + } + if (source === RATING_SOURCE_MARATHON_MATCH) { return { source, @@ -534,6 +588,35 @@ async function fetchChallengeResultParticipantIds (reviewDbClient, challengeId) return result.rows.map((row) => toBigIntUserId(row.userId)) } +/** + * Fetch placement winner participants from challenge-api for completed + * Development/Data Science rating rerates. This covers challenges where winners + * can be assigned without a review-api challengeResult row for the same member. + * @param {Object} challengeClient challenge Prisma client + * @param {string|number} challengeId challenge identifier + * @returns {Promise>} winner user ids + */ +async function fetchChallengeWinnerParticipantIds (challengeClient, challengeId) { + if (!challengeClient || !challengeClient.ChallengeWinner || + typeof challengeClient.ChallengeWinner.findMany !== 'function') { + return [] + } + + const winnerRows = await challengeClient.ChallengeWinner.findMany({ + where: { + challengeId: String(challengeId), + type: { + in: CHALLENGE_WINNER_RATING_TYPES + } + }, + select: { + userId: true + } + }) + + return winnerRows.map((row) => toBigIntUserId(row.userId)) +} + /** * Fetch Marathon Match participants from review summations when challengeResult * rows are not available yet. @@ -555,16 +638,25 @@ async function fetchMarathonMatchParticipantIds (reviewDbClient, challengeId) { /** * Resolve submitter ids for the challenge and rating source. - * Marathon Match submitters are loaded from both challengeResult and final - * review summations so partially synced result rows cannot omit lower-placed - * participants from rerating. + * Challenge ratings include placement winners so completed challenges without + * challengeResult rows still rerate paid winners. Marathon Match submitters + * are loaded from both challengeResult and final review summations so partially + * synced result rows cannot omit lower-placed participants from rerating. * @param {Object} reviewDbClient raw pg review database client + * @param {Object} challengeClient challenge Prisma client * @param {string|number} challengeId challenge identifier * @param {string} source rating source identifier * @returns {Promise>} unique participant user ids */ -async function fetchRatingParticipantIds (reviewDbClient, challengeId, source) { +async function fetchRatingParticipantIds (reviewDbClient, challengeClient, challengeId, source) { const challengeResultUserIds = await fetchChallengeResultParticipantIds(reviewDbClient, challengeId) + if (source === RATING_SOURCE_DEVELOPMENT || source === RATING_SOURCE_DATA_SCIENCE_CHALLENGE) { + return _.uniqBy( + challengeResultUserIds.concat(await fetchChallengeWinnerParticipantIds(challengeClient, challengeId)), + stringifyUserId + ) + } + if (source !== RATING_SOURCE_MARATHON_MATCH) { return _.uniqBy(challengeResultUserIds, stringifyUserId) } @@ -633,13 +725,24 @@ async function rerateChallengeRatingJobForMember (challengeClient, reviewDbClien ) } - if (job.source === RATING_SOURCE_DEVELOPMENT) { + if (job.source === RATING_SOURCE_DEVELOPMENT || + job.source === RATING_SOURCE_DATA_SCIENCE_CHALLENGE) { + const rerateOptions = job.source === RATING_SOURCE_DATA_SCIENCE_CHALLENGE + ? { + targetTrackName: TRACK_NAMES.DATA_SCIENCE, + targetTypeName: TYPE_NAMES.CHALLENGE, + challengeTrackNames: getDataScienceChallengeSourceTrackNames(), + challengeTypeNames: [TYPE_NAMES.CHALLENGE] + } + : undefined + return rerateDevTrack( prisma, challengeClient, reviewDbClient, userId, - challengeId + challengeId, + rerateOptions ) } @@ -2384,6 +2487,22 @@ function isReratedCanonicalMarathonHistoryRow (row) { !_.isNil(row.newRating) } +/** + * Determine whether a Marathon Match history row uses a canonical UUID + * challenge id instead of an imported numeric legacy challenge id. + * @param {Object} row unified history row annotated with track/type names + * @returns {boolean} true when the row is a canonical Marathon Match row + */ +function isCanonicalMarathonHistoryRow (row) { + const challengeId = normalizeChallengeLookupKey(row && row.challengeId) + + return !!challengeId && + !/^\d+$/.test(challengeId) && + row && + row.trackName === TRACK_NAMES.DATA_SCIENCE && + row.typeName === TYPE_NAMES.MARATHON_MATCH +} + /** * Extract a Marathon Match round number from canonical or legacy challenge names. * This lets migrated numeric legacy rows be reconciled with canonical Challenge @@ -2472,8 +2591,18 @@ function getMarathonHistoryAliasKeys (row) { * @returns {Array} canonical replacement aliases */ function getMarathonHistoryCanonicalReplacementAliasKeys (row) { + const keys = [] + const matchNumber = getMarathonHistoryMatchNumber(row) + if (matchNumber) { + keys.push(`match:${matchNumber}`) + } + const titleAlias = getMarathonHistoryTitleAlias(row && row.challengeName) - return titleAlias ? [titleAlias] : [] + if (titleAlias) { + keys.push(titleAlias) + } + + return keys } /** @@ -2538,6 +2667,54 @@ function buildAuthoritativeCanonicalMarathonAliasSet (rows) { return aliases } +/** + * Build aliases covered by any canonical Marathon Match row, including rows + * that are incomplete rerate placeholders. This lets imported numeric rows + * remain visible only when they are UUID-backed or are filling a known + * canonical gap, while orphan numeric rows are hidden after native rerates. + * @param {Array} rows unified history rows + * @returns {Set} aliases covered by canonical MM rows + */ +function buildAnyCanonicalMarathonAliasSet (rows) { + const aliases = new Set() + + _.forEach(rows || [], (row) => { + if (!isCanonicalMarathonHistoryRow(row)) { + return + } + + _.forEach(getMarathonHistoryCanonicalReplacementAliasKeys(row), key => aliases.add(key)) + }) + + return aliases +} + +/** + * Determine whether a numeric legacy Marathon Match row should remain visible. + * Legacy-only environments keep hydrated numeric rows, but once a member has + * canonical MM history, numeric rows must either resolve to a Challenge API UUID + * or fill a known canonical MM-number/title gap. + * @param {Object} row candidate legacy numeric MM row + * @param {boolean} hasCanonicalRows true when the response includes canonical MM history + * @param {Set} anyCanonicalAliases aliases covered by canonical MM rows + * @returns {boolean} true when the numeric row should be shown + */ +function shouldKeepLegacyNumericMarathonHistoryRow (row, hasCanonicalRows, anyCanonicalAliases) { + if (!row || !row.challengeName) { + return false + } + + if (!hasCanonicalRows) { + return true + } + + if (normalizeChallengeLookupKey(row.canonicalChallengeId)) { + return true + } + + return _.some(getMarathonHistoryCanonicalReplacementAliasKeys(row), key => anyCanonicalAliases.has(key)) +} + /** * Determine whether a canonical MM row should be hidden because an imported * legacy row remains the authoritative historical rating point. @@ -2612,6 +2789,8 @@ function backfillCanonicalMarathonRatingsFromNextOldRating (rows) { function selectVisibleMarathonHistoryRows (rows) { const legacyAliases = buildAuthoritativeLegacyMarathonAliasSet(rows) const canonicalAliases = buildAuthoritativeCanonicalMarathonAliasSet(rows) + const anyCanonicalAliases = buildAnyCanonicalMarathonAliasSet(rows) + const hasCanonicalRows = _.some(rows || [], isCanonicalMarathonHistoryRow) return _.filter(rows || [], (row) => { if (!row || @@ -2621,7 +2800,7 @@ function selectVisibleMarathonHistoryRows (rows) { } if (isLegacyNumericMarathonHistoryRow(row)) { - return !!row.challengeName && + return shouldKeepLegacyNumericMarathonHistoryRow(row, hasCanonicalRows, anyCanonicalAliases) && !_.some(getMarathonHistoryCanonicalReplacementAliasKeys(row), key => canonicalAliases.has(key)) } @@ -2864,8 +3043,9 @@ function annotateUnifiedDimensionRows (rows, dimensionLookup) { /** * Resolve a stats type filter to the stored value. - * Known challenge types resolve to UUIDs, while custom rating path names - * are stored directly in memberStats.typeId and must remain queryable by name. + * Known challenge types resolve through the dimension lookup. Configured rating + * path names and deterministic path ids resolve through RATING_PATHS so freshly + * created custom ChallengeType rows remain queryable even with a stale lookup. * @param {Object} dimensionLookup shared challenge dimension lookup * @param {*} value raw request filter value * @returns {string|undefined} stored filter value @@ -2877,13 +3057,19 @@ function resolveStatsTypeFilterValue (dimensionLookup, value) { } const rawValue = String(value || '').trim() + const configuredRatingPath = getConfiguredRatingPath(config.RATING_PATHS, rawValue) || + getConfiguredRatingPathByTypeId(config.RATING_PATHS, rawValue) + if (configuredRatingPath) { + return buildRatingPathTypeId(configuredRatingPath) + } + return rawValue || undefined } /** * Resolve optional unified stats filter parameters into stored ids. - * Track filters resolve to challenge UUIDs. Type filters also accept custom - * rating path names that are stored directly as type ids. + * Track filters resolve to challenge UUIDs. Type filters also accept configured + * rating path names and deterministic path type ids. * @param {Object} query request query params * @param {Object} dimensionLookup shared challenge dimension lookup * @returns {Object} resolved filter payload @@ -4120,7 +4306,8 @@ refreshMemberStats.schema = { * Re-rate every existing submitter on a completed challenge for all applicable * rating dimensions. This includes the native challenge track/type rating when * supported and any configured named rating paths whose tags/skills match the - * challenge, such as the default AI path. + * challenge, such as the default AI path. Quality Assurance Challenge rows are + * replayed into the public DATA_SCIENCE / Challenge rating bucket. * @param {Object} currentUser the user who performs operation * @param {Object} data rerate payload containing the completed challenge id * @returns {Object} summary of participants, rating jobs, updates, and per-member failures @@ -4190,7 +4377,7 @@ async function rerateChallengeSubmitterRatings (currentUser, data) { participantIdsBySource.set( job.source, - await fetchRatingParticipantIds(reviewDbClient, challengeId, job.source) + await fetchRatingParticipantIds(reviewDbClient, challengeClient, challengeId, job.source) ) } @@ -4280,8 +4467,11 @@ rerateChallengeSubmitterRatings.schema = { } /** - * Trigger a DEVELOPMENT / Challenge, DATA_SCIENCE / MARATHON_MATCH, or configured - * tag- or skill-based rating path re-rating pass beginning with the supplied challenge. + * Trigger a DEVELOPMENT / Challenge, DATA_SCIENCE / Challenge, + * DATA_SCIENCE / MARATHON_MATCH, or configured tag- or skill-based rating path + * re-rating pass beginning with the supplied challenge. + * DATA_SCIENCE / Challenge rerates also replay Quality Assurance Challenge + * source rows because QA history is surfaced in that public rating bucket. * The relevant review-api results are reprocessed in chronological order and * persisted into the existing unified rating tables for the member. * @param {Object} currentUser the user who performs operation @@ -4324,6 +4514,20 @@ async function rerateMemberStats (currentUser, handle, data) { member.userId, payload.challengeId ) + } else if (trackId === TRACK_NAMES.DATA_SCIENCE && typeId === TYPE_NAMES.CHALLENGE) { + result = await rerateDevTrack( + prisma, + challengeClient, + reviewDbClient, + member.userId, + payload.challengeId, + { + targetTrackName: TRACK_NAMES.DATA_SCIENCE, + targetTypeName: TYPE_NAMES.CHALLENGE, + challengeTrackNames: getDataScienceChallengeSourceTrackNames(), + challengeTypeNames: [TYPE_NAMES.CHALLENGE] + } + ) } else if (trackId === TRACK_NAMES.DATA_SCIENCE && typeId === TYPE_NAMES.MARATHON_MATCH) { result = await rerateMmTrack( prisma, @@ -4334,7 +4538,7 @@ async function rerateMemberStats (currentUser, handle, data) { payload.challengeId ) } else { - throw new errors.BadRequestError('Only DEVELOP / Challenge and DATA_SCIENCE / MARATHON_MATCH rerates are currently supported.') + throw new errors.BadRequestError('Only DEVELOP / Challenge, DATA_SCIENCE / Challenge, and DATA_SCIENCE / MARATHON_MATCH rerates are currently supported.') } return { diff --git a/test/testHelper.js b/test/testHelper.js index 26a907b..c47259a 100644 --- a/test/testHelper.js +++ b/test/testHelper.js @@ -140,6 +140,7 @@ async function clearData () { const filter = { where: { userId: { in: memberIds } } } await prisma.memberTraits.deleteMany(filter) + await prisma.memberChallengePoints.deleteMany(filter) await prisma.memberAddress.deleteMany(filter) await prisma.memberMaxRating.deleteMany(filter) await prisma.member.deleteMany(filter) diff --git a/test/unit/DedupeMarathonMatchHistory.test.js b/test/unit/DedupeMarathonMatchHistory.test.js new file mode 100644 index 0000000..2557451 --- /dev/null +++ b/test/unit/DedupeMarathonMatchHistory.test.js @@ -0,0 +1,105 @@ +/* + * Unit tests for migrated Marathon Match history dedupe helpers. + */ + +const chai = require('chai') + +const dedupeMarathonMatchHistory = require('../../src/scripts/dedupeMarathonMatchHistory') + +chai.should() + +describe('dedupeMarathonMatchHistory unit tests', () => { + it('should parse dry-run options passed through pnpm', () => { + const options = dedupeMarathonMatchHistory.parseArgs([ + '--', + '--dry-run', + '--user-id', + '40562752', + '--limit=25' + ]) + + options.dryRun.should.equal(true) + options.userId.should.equal('40562752') + options.limit.should.equal(25) + }) + + it('should return dry-run summary without deleting rows', async () => { + let connected = false + let disconnected = false + const membersClient = { + $connect: async () => { + connected = true + }, + $disconnect: async () => { + disconnected = true + }, + $queryRaw: async () => [ + { + legacyHistoryId: 876081, + userId: 40562752, + matchNumber: '145', + legacyChallengeId: '19628', + legacyChallengeName: 'MM 145', + legacyPlacement: 2, + legacyNewRating: 2925, + canonicalHistoryId: 876110, + canonicalChallengeId: '7289e32b-a4d8-4349-9060-192a512368f8', + canonicalChallengeName: 'Marathon Match 145', + canonicalPlacement: 1, + canonicalNewRating: 2591 + } + ] + } + + const summary = await dedupeMarathonMatchHistory.run({ + dryRun: true, + userId: '40562752', + limit: null + }, { + membersClient + }) + + connected.should.equal(true) + disconnected.should.equal(true) + summary.should.deep.equal({ + dryRun: true, + duplicateRows: 1, + deletedRows: 0, + usersRefreshed: 0 + }) + }) + + it('should delete duplicate legacy rows and refresh affected users', async () => { + const rawQueries = [] + const membersClient = { + $transaction: async (callback) => { + const tx = { + $executeRaw: async (strings) => { + rawQueries.push(strings.join('')) + return rawQueries.length === 1 ? 2 : 1 + } + } + return callback(tx) + } + } + + const summary = await dedupeMarathonMatchHistory.deleteDuplicateHistoryRows(membersClient, [ + { + legacyHistoryId: 876081, + userId: 40562752 + }, + { + legacyHistoryId: 876083, + userId: 40562752 + } + ]) + + summary.should.deep.equal({ + deletedRows: 2, + usersRefreshed: 1 + }) + rawQueries[0].should.include('DELETE FROM "members"."memberStatsHistory"') + rawQueries[1].should.include('"rankedHistory"') + rawQueries[1].should.include('"mostRecent"') + }) +}) diff --git a/test/unit/DevelopRatingEngine.test.js b/test/unit/DevelopRatingEngine.test.js index 07e12c2..bfac267 100644 --- a/test/unit/DevelopRatingEngine.test.js +++ b/test/unit/DevelopRatingEngine.test.js @@ -353,7 +353,9 @@ function createReviewDbClient (rows) { } } -function createChallengeClient (metadataById) { +function createChallengeClient (metadataById, winnerRows = []) { + const challengeWinnerRows = winnerRows.map(cloneRow) + return { async $queryRaw (strings) { const sql = Array.isArray(strings) ? strings.join('') : String(strings) @@ -403,6 +405,13 @@ function createChallengeClient (metadataById) { .filter(Boolean) .map(cloneRow) } + }, + ChallengeWinner: { + async findMany (args = {}) { + return challengeWinnerRows + .filter((row) => matchesWhere(row, args.where)) + .map((row) => selectRow(row, args.select)) + } } } } @@ -422,6 +431,259 @@ function findHistoryRow (historyRows, userId, challengeId) { } describe('develop rating engine unit tests', () => { + it('rerateDevTrack should rate ChallengeWinner placements when challengeResult is missing', async () => { + const targetUserId = toBigInt(9011) + const opponentUserId = toBigInt(9022) + const challengeId = 'winner-only-dev' + const winnerCreatedAt = new Date('2026-01-15T11:00:00.000Z') + + const members = createMembersClient({ + historyRows: [], + statsRows: [], + maxRatingRows: [] + }) + const reviewDbClient = createReviewDbClient([]) + const challengeClient = createChallengeClient({ + [challengeId]: { + id: challengeId, + status: 'COMPLETED', + endDate: new Date('2026-01-15T00:00:00.000Z'), + track: { name: 'DEVELOPMENT' }, + type: { name: 'Challenge' }, + metadata: [] + } + }, [ + { + challengeId, + userId: Number(targetUserId), + type: 'PLACEMENT', + placement: 1, + createdAt: winnerCreatedAt + }, + { + challengeId, + userId: Number(opponentUserId), + type: 'PLACEMENT', + placement: 2, + createdAt: winnerCreatedAt + } + ]) + + const expectedParticipants = [ + createParticipant(targetUserId, 0, 0, 0, -1), + createParticipant(opponentUserId, 0, 0, 0, -2) + ] + runQubitsRating(expectedParticipants) + const expectedTarget = expectedParticipants.find((participant) => participant.coderId === String(targetUserId)) + + const result = await rerateDevTrack( + members.client, + challengeClient, + reviewDbClient, + targetUserId, + challengeId + ) + + result.challengesProcessed.should.equal(1) + result.ratingsUpdated.should.equal(1) + + const statsRow = members.state.statsRows.find((row) => + String(row.userId) === String(targetUserId) && + row.trackId === DEVELOP_TRACK_ID && + row.typeId === CHALLENGE_TYPE_ID + ) + const historyRow = findHistoryRow(members.state.historyRows, targetUserId, challengeId) + const maxRatingRow = members.state.maxRatingRows.find((row) => String(row.userId) === String(targetUserId)) + + should.exist(statsRow) + should.exist(historyRow) + should.exist(maxRatingRow) + statsRow.rating.should.equal(expectedTarget.rating) + statsRow.volatility.should.equal(expectedTarget.volatility) + statsRow.challenges.should.equal(1) + should.equal(historyRow.oldRating, null) + historyRow.newRating.should.equal(expectedTarget.rating) + maxRatingRow.rating.should.equal(expectedTarget.rating) + maxRatingRow.track.should.equal('DEVELOP') + maxRatingRow.subTrack.should.equal('Challenge') + }) + + it('rerateDevTrack should support Data Science Challenge rating dimensions', async () => { + const targetUserId = toBigInt(1001) + const opponentUserId = toBigInt(2002) + const challengeId = 'ds-challenge-1' + const eventDate = new Date('2026-06-02T05:30:04.536Z') + const members = createMembersClient({ + historyRows: [], + statsRows: [], + maxRatingRows: [] + }) + const reviewDbClient = createReviewDbClient([ + { + challengeId, + userId: targetUserId, + finalScore: 100, + placement: 1, + rated: true, + createdAt: new Date('2026-06-02T04:49:42.752Z') + }, + { + challengeId, + userId: opponentUserId, + finalScore: 88.89, + placement: 2, + rated: true, + createdAt: new Date('2026-06-02T04:46:08.538Z') + } + ]) + const challengeClient = createChallengeClient({ + [challengeId]: { + id: challengeId, + endDate: eventDate, + track: { name: 'Data Science' }, + type: { name: 'Challenge' } + } + }) + const expectedParticipants = [ + createParticipant(targetUserId, 0, 0, 0, 100), + createParticipant(opponentUserId, 0, 0, 0, 88.89) + ] + runQubitsRating(expectedParticipants) + const expectedTarget = expectedParticipants.find((participant) => participant.coderId === String(targetUserId)) + + const result = await rerateDevTrack( + members.client, + challengeClient, + reviewDbClient, + targetUserId, + challengeId, + { + targetTrackName: 'DATA_SCIENCE', + targetTypeName: 'Challenge', + challengeTrackNames: ['DATA_SCIENCE'], + challengeTypeNames: ['Challenge'] + } + ) + + result.challengesProcessed.should.equal(1) + result.ratingsUpdated.should.equal(1) + + const statsRow = members.state.statsRows.find((row) => + String(row.userId) === String(targetUserId) && + row.trackId === DATA_SCIENCE_TRACK_ID && + row.typeId === CHALLENGE_TYPE_ID + ) + should.exist(statsRow) + statsRow.rating.should.equal(expectedTarget.rating) + statsRow.volatility.should.equal(expectedTarget.volatility) + statsRow.challenges.should.equal(1) + statsRow.mostRecentEventDate.should.deep.equal(eventDate) + + const historyRow = findHistoryRow(members.state.historyRows, targetUserId, challengeId) + should.exist(historyRow) + historyRow.trackId.should.equal(DATA_SCIENCE_TRACK_ID) + historyRow.typeId.should.equal(CHALLENGE_TYPE_ID) + historyRow.newRating.should.equal(expectedTarget.rating) + historyRow.mostRecent.should.equal(true) + + const maxRatingRow = members.state.maxRatingRows.find((row) => String(row.userId) === String(targetUserId)) + should.exist(maxRatingRow) + maxRatingRow.rating.should.equal(expectedTarget.rating) + maxRatingRow.track.should.equal('DATA_SCIENCE') + maxRatingRow.subTrack.should.equal('Challenge') + maxRatingRow.ratingColor.should.equal(getRatingColor(expectedTarget.rating)) + + members.state.rankRecalculationCalls.should.have.length(1) + members.state.rankRecalculationCalls[0].trackId.should.equal(DATA_SCIENCE_TRACK_ID) + members.state.rankRecalculationCalls[0].typeId.should.equal(CHALLENGE_TYPE_ID) + }) + + it('rerateDevTrack should include QA ChallengeWinner placements in Data Science Challenge rerates', async () => { + const targetUserId = toBigInt(89770374) + const opponentUserId = toBigInt(100000039) + const challengeId = 'qa-rating-jun-2' + const eventDate = new Date('2026-06-02T06:36:07.735Z') + const members = createMembersClient({ + historyRows: [], + statsRows: [], + maxRatingRows: [] + }) + const reviewDbClient = createReviewDbClient([]) + const challengeClient = createChallengeClient({ + [challengeId]: { + id: challengeId, + status: 'COMPLETED', + endDate: eventDate, + track: { name: 'Quality Assurance' }, + type: { name: 'Challenge' }, + metadata: [] + } + }, [ + { + challengeId, + userId: Number(targetUserId), + type: 'PLACEMENT', + placement: 1, + createdAt: new Date('2026-06-02T06:37:00.000Z') + }, + { + challengeId, + userId: Number(opponentUserId), + type: 'PLACEMENT', + placement: 2, + createdAt: new Date('2026-06-02T06:37:00.000Z') + } + ]) + const expectedParticipants = [ + createParticipant(targetUserId, 0, 0, 0, -1), + createParticipant(opponentUserId, 0, 0, 0, -2) + ] + runQubitsRating(expectedParticipants) + const expectedTarget = expectedParticipants.find((participant) => participant.coderId === String(targetUserId)) + + const result = await rerateDevTrack( + members.client, + challengeClient, + reviewDbClient, + targetUserId, + challengeId, + { + targetTrackName: 'DATA_SCIENCE', + targetTypeName: 'Challenge', + challengeTrackNames: ['DATA_SCIENCE', 'QUALITY_ASSURANCE'], + challengeTypeNames: ['Challenge'] + } + ) + + result.challengesProcessed.should.equal(1) + result.ratingsUpdated.should.equal(1) + + const statsRow = members.state.statsRows.find((row) => + String(row.userId) === String(targetUserId) && + row.trackId === DATA_SCIENCE_TRACK_ID && + row.typeId === CHALLENGE_TYPE_ID + ) + should.exist(statsRow) + statsRow.rating.should.equal(expectedTarget.rating) + statsRow.volatility.should.equal(expectedTarget.volatility) + statsRow.challenges.should.equal(1) + statsRow.mostRecentEventDate.should.deep.equal(eventDate) + + const historyRow = findHistoryRow(members.state.historyRows, targetUserId, challengeId) + should.exist(historyRow) + historyRow.trackId.should.equal(DATA_SCIENCE_TRACK_ID) + historyRow.typeId.should.equal(CHALLENGE_TYPE_ID) + historyRow.newRating.should.equal(expectedTarget.rating) + historyRow.mostRecent.should.equal(true) + + const maxRatingRow = members.state.maxRatingRows.find((row) => String(row.userId) === String(targetUserId)) + should.exist(maxRatingRow) + maxRatingRow.rating.should.equal(expectedTarget.rating) + maxRatingRow.track.should.equal('DATA_SCIENCE') + maxRatingRow.subTrack.should.equal('Challenge') + maxRatingRow.ratingColor.should.equal(getRatingColor(expectedTarget.rating)) + }) + it('rerateDevTrack should seed rerates from prior history instead of current snapshots', async () => { const targetUserId = toBigInt(1001) const opponentUserId = toBigInt(2002) diff --git a/test/unit/MemberService.test.js b/test/unit/MemberService.test.js index d52d46e..f0ef12c 100644 --- a/test/unit/MemberService.test.js +++ b/test/unit/MemberService.test.js @@ -19,6 +19,7 @@ process.env.RESOURCES_DB_URL = process.env.RESOURCES_DB_URL || placeholderDbUrl process.env.ENGAGEMENTS_DB_URL = process.env.ENGAGEMENTS_DB_URL || placeholderDbUrl const service = require('../../src/services/MemberService') +const prisma = require('../../src/common/prisma').getClient() const testHelper = require('../testHelper') const should = chai.should() @@ -86,6 +87,44 @@ describe('member service unit tests', () => { // should.equal(result.updatedBy, member1.updatedBy) }) + it('get member includes challenge point summary and details', async () => { + const updateResult = await service.updateChallengePoints({ isMachine: true, userId: 'autopilot' }, 'challenge-1', { + challengeName: 'AI Points Challenge', + points: [ + { userId: member1.userId, placement: 1, points: 250 }, + { userId: member2.userId, placement: 2, points: 100 } + ] + }) + + should.equal(updateResult.updated, 2) + + const result = await service.getMember({ isMachine: true }, member1.handle, {}) + should.equal(result.challengePoints.total, 250) + should.equal(result.challengePoints.challenges, 1) + should.equal(result.challengePoints.details.length, 1) + should.equal(result.challengePoints.details[0].challengeId, 'challenge-1') + should.equal(result.challengePoints.details[0].challengeName, 'AI Points Challenge') + should.equal(result.challengePoints.details[0].placement, 1) + should.equal(result.challengePoints.details[0].points, 250) + }) + + it('update challenge points replaces stale rows for the challenge', async () => { + await service.updateChallengePoints({ isMachine: true, userId: 'autopilot' }, 'challenge-1', { + challengeName: 'AI Points Challenge Updated', + points: [ + { userId: member1.userId, placement: 1, points: 300 } + ] + }) + + const member1Result = await service.getMember({ isMachine: true }, member1.handle, {}) + should.equal(member1Result.challengePoints.total, 300) + should.equal(member1Result.challengePoints.details[0].challengeName, 'AI Points Challenge Updated') + + const member2Result = await service.getMember({ isMachine: true }, member2.handle, {}) + should.equal(member2Result.challengePoints.total, 0) + should.equal(member2Result.challengePoints.challenges, 0) + }) + it('get member successfully 2', async () => { const result = await service.getMember({ handle: 'test', roles: ['role'] }, member1.handle, { fields: 'userId,firstName,lastName,email,addresses' @@ -155,6 +194,50 @@ describe('member service unit tests', () => { }) }) + describe('get profile completeness tests', () => { + it('counts open-to-work availability complete without legacy preferred roles', async () => { + const memberTraits = await prisma.memberTraits.findUnique({ + where: { userId: member1.userId } + }) + + try { + await prisma.member.update({ + where: { userId: member1.userId }, + data: { availableForGigs: true } + }) + + await prisma.memberTraitPersonalization.create({ + data: { + memberTraitId: memberTraits.id, + key: 'openToWork', + value: { availability: 'FULL_TIME' }, + private: true, + createdBy: 'test' + } + }) + + const result = await service.getProfileCompleteness({ isMachine: true }, member1.handle, {}) + + should.equal(result.data.engagementAvailability, true) + should.equal(result.data.percentComplete, 0.5) + } finally { + if (memberTraits) { + await prisma.memberTraitPersonalization.deleteMany({ + where: { + memberTraitId: memberTraits.id, + key: 'openToWork' + } + }) + } + + await prisma.member.update({ + where: { userId: member1.userId }, + data: { availableForGigs: null } + }) + } + }) + }) + describe('get member sendgrid emails tests', () => { let originalSendgridApiKey let originalAxiosGet diff --git a/test/unit/MmRatingEngine.test.js b/test/unit/MmRatingEngine.test.js index 7be3b5a..5ad35f4 100644 --- a/test/unit/MmRatingEngine.test.js +++ b/test/unit/MmRatingEngine.test.js @@ -130,6 +130,7 @@ function createMembersClient (seed) { historyRows: seed.historyRows.map(cloneRow), statsRows: seed.statsRows.map(cloneRow), maxRatingRows: seed.maxRatingRows.map(cloneRow), + legacyMarathonHistoryRows: (seed.legacyMarathonHistoryRows || []).map(cloneRow), rankRecalculationCalls: [] } @@ -259,12 +260,21 @@ function createMembersClient (seed) { memberStatsHistory, memberStats, memberMaxRating, + async $queryRaw (strings) { + const sql = Array.isArray(strings) ? strings.join('') : String(strings) + if (sql.includes('"memberDataScienceHistoryStats"')) { + return state.legacyMarathonHistoryRows.map(cloneRow) + } + + throw new Error(`Unexpected member raw query: ${sql}`) + }, $executeRawUnsafe: executeRawUnsafe, async $transaction (transactionWork) { return transactionWork({ memberStatsHistory, memberStats, memberMaxRating, + $queryRaw: client.$queryRaw, $executeRawUnsafe: executeRawUnsafe }) } @@ -1513,12 +1523,112 @@ describe('marathon match rating engine unit tests', () => { should.equal(historyRow.placement, 2) }) - it('rerateMmTrack should seed new MM rerates from imported legacy ratings over historical canonical rerates', async () => { + it('rerateMmTrack should ignore placement-only MM history rows when seeding ratings', async () => { + const placementOnlyChallengeId = 'mm-placement-only-seed' + const newChallengeId = 'mm-one-person-new' + + const { client: membersClient, state } = createMembersClient({ + historyRows: [ + { + id: toBigInt(1051), + userId: targetUserId, + trackId: DATA_SCIENCE_TRACK_ID, + typeId: MARATHON_MATCH_TYPE_ID, + challengeId: placementOnlyChallengeId, + mostRecent: false, + oldRating: null, + newRating: null, + oldVolatility: null, + newVolatility: null, + placement: 2, + eventDate: new Date('2024-01-01T00:00:00.000Z'), + createdBy: 'stats-migration', + updatedBy: 'stats-migration' + } + ], + statsRows: [], + maxRatingRows: [] + }) + + const reviewRows = [ + { + submissionId: 'submission-placement-only-seed', + memberId: targetUserId, + challengeId: placementOnlyChallengeId, + placement: 2, + aggregateScore: 20, + reviewedDate: new Date('2024-01-01T10:00:00.000Z'), + createdAt: new Date('2024-01-01T10:00:00.000Z'), + submissionCreatedAt: new Date('2024-01-01T09:00:00.000Z') + }, + { + submissionId: 'submission-one-person-new', + memberId: targetUserId, + challengeId: newChallengeId, + placement: 1, + aggregateScore: 100, + reviewedDate: new Date('2024-02-01T10:00:00.000Z'), + createdAt: new Date('2024-02-01T10:00:00.000Z'), + submissionCreatedAt: new Date('2024-02-01T09:00:00.000Z') + } + ] + const expectedParticipants = [ + createParticipant(targetUserId, 0, 0, 0, 100) + ] + runQubitsRating(expectedParticipants) + const expectedTarget = expectedParticipants[0] + + const result = await rerateMmTrack( + membersClient, + createChallengeClient({ + [placementOnlyChallengeId]: { + id: placementOnlyChallengeId, + endDate: new Date('2024-01-01T00:00:00.000Z'), + track: { name: 'DATA_SCIENCE' }, + type: { name: 'MARATHON_MATCH' }, + metadata: [] + }, + [newChallengeId]: { + id: newChallengeId, + endDate: new Date('2024-02-01T00:00:00.000Z'), + track: { name: 'DATA_SCIENCE' }, + type: { name: 'MARATHON_MATCH' }, + metadata: [] + } + }), + null, + createMmReviewDbClient(reviewRows), + targetUserId, + newChallengeId + ) + + should.equal(result.challengesProcessed, 1) + should.equal(result.ratingsUpdated, 1) + + const statsRow = state.statsRows.find((row) => + String(row.userId) === String(targetUserId) && + row.trackId === DATA_SCIENCE_TRACK_ID && + row.typeId === MARATHON_MATCH_TYPE_ID + ) + const historyRow = findHistoryRow(state.historyRows, targetUserId, newChallengeId) + + should.equal(historyRow.oldRating, null) + should.equal(historyRow.oldVolatility, null) + should.equal(historyRow.newRating, expectedTarget.rating) + should.equal(historyRow.newVolatility, expectedTarget.volatility) + should.equal(historyRow.placement, 1) + should.equal(statsRow.rating, expectedTarget.rating) + should.equal(statsRow.volatility, expectedTarget.volatility) + should.equal(statsRow.maxRating, expectedTarget.rating) + should.equal(statsRow.minRating, expectedTarget.rating) + should.equal(statsRow.challenges, 2) + }) + + it('rerateMmTrack should seed new MM rerates from imported legacy ratings over incomplete canonical duplicates', async () => { const legacyChallengeId = '19578' const oldCanonicalChallengeId = 'mm-old-canonical' const newChallengeId = 'mm-new-canonical' const targetLegacyRating = 1800 - const canonicalReratedRating = 1200 const opponentLegacyRating = 1500 const { client: membersClient, state } = createMembersClient({ @@ -1543,9 +1653,10 @@ describe('marathon match rating engine unit tests', () => { challengeId: oldCanonicalChallengeId, mostRecent: false, oldRating: targetLegacyRating, - newRating: canonicalReratedRating, + newRating: null, oldVolatility: DEFAULT_VOLATILITY, - newVolatility: 210, + newVolatility: null, + placement: 1, eventDate: new Date('2023-05-31T10:02:00.000Z'), createdBy: 'stats-migration', updatedBy: 'rerate-mm-stats' @@ -1564,7 +1675,11 @@ describe('marathon match rating engine unit tests', () => { } ], statsRows: [], - maxRatingRows: [] + maxRatingRows: [], + legacyMarathonHistoryRows: [{ + challengeId: legacyChallengeId, + challengeName: 'MM 145' + }] }) const reviewRows = [ @@ -1602,6 +1717,7 @@ describe('marathon match rating engine unit tests', () => { id: oldCanonicalChallengeId, legacyId: Number(legacyChallengeId), endDate: new Date('2023-05-31T10:02:00.000Z'), + name: 'Marathon Match 145', track: { name: 'DATA_SCIENCE' }, type: { name: 'MARATHON_MATCH' }, metadata: [] @@ -1646,7 +1762,172 @@ describe('marathon match rating engine unit tests', () => { should.equal(statsRow.rating, expectedTarget.rating) should.equal(statsRow.maxRating, Math.max(targetLegacyRating, expectedTarget.rating)) should.equal(statsRow.minRating, Math.min(targetLegacyRating, expectedTarget.rating)) - statsRow.minRating.should.not.equal(Math.min(canonicalReratedRating, expectedTarget.rating)) + }) + + it('rerateMmTrack should seed new MM rerates from authoritative canonical rows over duplicate legacy rounds', async () => { + const legacyChallengeId = '19628' + const oldCanonicalChallengeId = 'mm-145-canonical' + const newChallengeId = 'mm-146-canonical' + const targetLegacyRating = 2925 + const targetCanonicalRating = 2455 + const targetCanonicalVolatility = 320 + const opponentLegacyRating = 2500 + const opponentCanonicalRating = 2300 + const opponentCanonicalVolatility = 340 + + const { client: membersClient, state } = createMembersClient({ + historyRows: [ + { + id: toBigInt(2101), + userId: targetUserId, + trackId: DATA_SCIENCE_TRACK_ID, + typeId: MARATHON_MATCH_TYPE_ID, + challengeId: legacyChallengeId, + mostRecent: false, + newRating: targetLegacyRating, + eventDate: new Date('2023-05-02T00:00:00.000Z'), + createdBy: 'stats-migration', + updatedBy: 'stats-migration' + }, + { + id: toBigInt(2102), + userId: targetUserId, + trackId: DATA_SCIENCE_TRACK_ID, + typeId: MARATHON_MATCH_TYPE_ID, + challengeId: oldCanonicalChallengeId, + mostRecent: false, + oldRating: 2371, + newRating: targetCanonicalRating, + oldVolatility: 294, + newVolatility: targetCanonicalVolatility, + placement: 1, + eventDate: new Date('2023-05-31T10:02:00.000Z'), + createdBy: 'stats-migration', + updatedBy: 'rerate-mm-stats' + }, + { + id: toBigInt(2103), + userId: opponentUserId, + trackId: DATA_SCIENCE_TRACK_ID, + typeId: MARATHON_MATCH_TYPE_ID, + challengeId: legacyChallengeId, + mostRecent: false, + newRating: opponentLegacyRating, + eventDate: new Date('2023-05-02T00:00:00.000Z'), + createdBy: 'stats-migration', + updatedBy: 'stats-migration' + }, + { + id: toBigInt(2104), + userId: opponentUserId, + trackId: DATA_SCIENCE_TRACK_ID, + typeId: MARATHON_MATCH_TYPE_ID, + challengeId: oldCanonicalChallengeId, + mostRecent: false, + oldRating: 2250, + newRating: opponentCanonicalRating, + oldVolatility: 300, + newVolatility: opponentCanonicalVolatility, + placement: 4, + eventDate: new Date('2023-05-31T10:02:00.000Z'), + createdBy: 'stats-migration', + updatedBy: 'rerate-mm-stats' + } + ], + statsRows: [], + maxRatingRows: [], + legacyMarathonHistoryRows: [{ + challengeId: legacyChallengeId, + challengeName: 'MM 145' + }] + }) + + const reviewRows = [ + { + submissionId: 'submission-target-old', + memberId: targetUserId, + challengeId: oldCanonicalChallengeId, + placement: 1, + aggregateScore: 98.38958, + reviewedDate: new Date('2023-05-31T10:00:00.000Z'), + createdAt: new Date('2023-05-31T10:00:00.000Z'), + submissionCreatedAt: new Date('2023-05-31T09:00:00.000Z') + }, + { + submissionId: 'submission-target-new', + memberId: targetUserId, + challengeId: newChallengeId, + placement: 1, + aggregateScore: 100, + reviewedDate: new Date('2024-06-01T10:00:00.000Z'), + createdAt: new Date('2024-06-01T10:00:00.000Z'), + submissionCreatedAt: new Date('2024-06-01T09:00:00.000Z') + }, + { + submissionId: 'submission-opponent-new', + memberId: opponentUserId, + challengeId: newChallengeId, + placement: 2, + aggregateScore: 80, + reviewedDate: new Date('2024-06-01T10:05:00.000Z'), + createdAt: new Date('2024-06-01T10:05:00.000Z'), + submissionCreatedAt: new Date('2024-06-01T09:05:00.000Z') + } + ] + + const challengeClient = createChallengeClient({ + [oldCanonicalChallengeId]: { + id: oldCanonicalChallengeId, + endDate: new Date('2023-05-31T10:02:00.000Z'), + name: 'Marathon Match 145', + track: { name: 'DATA_SCIENCE' }, + type: { name: 'MARATHON_MATCH' }, + metadata: [] + }, + [newChallengeId]: { + id: newChallengeId, + endDate: new Date('2024-06-01T00:00:00.000Z'), + name: 'Marathon Match 146', + track: { name: 'DATA_SCIENCE' }, + type: { name: 'MARATHON_MATCH' }, + metadata: [] + } + }) + + const expectedParticipants = [ + createParticipant(targetUserId, targetCanonicalRating, targetCanonicalVolatility, 1, -1), + createParticipant(opponentUserId, opponentCanonicalRating, opponentCanonicalVolatility, 1, -2) + ] + runQubitsRating(expectedParticipants) + const expectedTarget = expectedParticipants.find((participant) => participant.coderId === String(targetUserId)) + + const result = await rerateMmTrack( + membersClient, + challengeClient, + null, + createMmReviewDbClient(reviewRows), + targetUserId, + newChallengeId + ) + + should.equal(result.challengesProcessed, 1) + should.equal(result.ratingsUpdated, 1) + + const statsRow = state.statsRows.find((row) => + String(row.userId) === String(targetUserId) && + row.trackId === DATA_SCIENCE_TRACK_ID && + row.typeId === MARATHON_MATCH_TYPE_ID + ) + const historyRow = findHistoryRow(state.historyRows, targetUserId, newChallengeId) + + should.equal(historyRow.oldRating, targetCanonicalRating) + should.equal(historyRow.oldVolatility, targetCanonicalVolatility) + should.equal(historyRow.newRating, expectedTarget.rating) + should.equal(statsRow.rating, expectedTarget.rating) + should.equal(statsRow.maxRating, Math.max(targetCanonicalRating, expectedTarget.rating)) + should.equal(statsRow.minRating, Math.min(targetCanonicalRating, expectedTarget.rating)) + statsRow.maxRating.should.not.equal(Math.max(targetLegacyRating, expectedTarget.rating)) + statsRow.minRating.should.not.equal(Math.min(targetLegacyRating, expectedTarget.rating)) }) it('rerateMmTrack should treat Development-track Marathon Match challenges as Data Science MM ratings', async () => { @@ -1702,6 +1983,74 @@ describe('marathon match rating engine unit tests', () => { should.equal(historyRow.placement, 1) }) + it('rerateMmTrack should use challengeResult score when a Development-track MM summation score is a placeholder', async () => { + const developmentTrackMmMetadata = { + [challengeId]: { + id: challengeId, + endDate: new Date('2024-06-01T00:00:00.000Z'), + track: { name: 'Development' }, + type: { name: 'Marathon Match' }, + metadata: [] + } + } + const placeholderScoreRows = [ + { + submissionId: 'submission-target-placeholder-score', + memberId: targetUserId, + challengeId, + placement: 1, + aggregateScore: -1, + finalScore: 0, + challengeResultFinalScore: 100, + reviewedDate: new Date('2024-06-01T10:00:00.000Z'), + createdAt: new Date('2024-06-01T10:00:00.000Z'), + submissionCreatedAt: new Date('2024-06-01T09:00:00.000Z') + }, + { + submissionId: 'submission-opponent-scored', + memberId: opponentUserId, + challengeId, + aggregateScore: 80, + reviewedDate: new Date('2024-06-01T10:05:00.000Z'), + createdAt: new Date('2024-06-01T10:05:00.000Z'), + submissionCreatedAt: new Date('2024-06-01T09:05:00.000Z') + } + ] + const expectedParticipants = [ + createParticipant(targetUserId, 0, 0, 0, 100), + createParticipant(opponentUserId, 0, 0, 0, 80) + ] + runQubitsRating(expectedParticipants) + const expectedTargetState = expectedParticipants.find((participant) => participant.coderId === String(targetUserId)) + const { client: membersClient, state } = createMembersClient({ + historyRows: [], + statsRows: [], + maxRatingRows: [] + }) + + const result = await rerateMmTrack( + membersClient, + createChallengeClient(developmentTrackMmMetadata), + null, + createMmReviewDbClient(placeholderScoreRows), + targetUserId, + challengeId + ) + + should.equal(result.challengesProcessed, 1) + should.equal(result.ratingsUpdated, 1) + const statsRow = state.statsRows.find((row) => + String(row.userId) === String(targetUserId) && + row.trackId === DATA_SCIENCE_TRACK_ID && + row.typeId === MARATHON_MATCH_TYPE_ID + ) + const historyRow = findHistoryRow(state.historyRows, targetUserId, challengeId) + + should.equal(statsRow.rating, expectedTargetState.rating) + should.equal(historyRow.newRating, expectedTargetState.rating) + should.equal(historyRow.placement, 1) + }) + it('rerateMmTrack should replay tagged Development Challenge and MM events under the configured destination track', async () => { const priorChallengeId = 'ai-prior-development-challenge' const targetChallengeId = 'ai-target-challenge' diff --git a/test/unit/RerateMarathonMatches.test.js b/test/unit/RerateMarathonMatches.test.js index 139a668..a26da5c 100644 --- a/test/unit/RerateMarathonMatches.test.js +++ b/test/unit/RerateMarathonMatches.test.js @@ -167,6 +167,30 @@ describe('rerateMarathonMatches unit tests', () => { result[0].eventDate.toISOString().should.equal('2024-04-01T00:00:00.000Z') }) + it('should merge Marathon Match history by round name without leaking aliases into review ids', () => { + const result = rerateMarathonMatches.mergeMarathonHistories([ + { + challengeId: 'mm-145-canonical', + challengeName: 'Marathon Match 145', + reviewChallengeIds: ['mm-145-canonical', '30350523'], + eventDate: new Date('2023-05-31T10:02:00.000Z') + } + ], [ + { + challengeId: '19628', + challengeName: 'MM 145', + reviewChallengeIds: ['19628'], + eventDate: new Date('2023-05-02T00:00:00.000Z') + } + ]) + + result.should.have.length(1) + result[0].challengeId.should.equal('mm-145-canonical') + result[0].challengeName.should.equal('Marathon Match 145') + result[0].reviewChallengeIds.should.deep.equal(['mm-145-canonical', '30350523', '19628']) + result[0].reviewChallengeIds.should.not.include('match:145') + }) + it('should discover distinct Marathon Match members in path order', async () => { const marathonHistory = [ { challengeId: 'mm-1', reviewChallengeIds: ['mm-1', '101'], eventDate: new Date('2024-01-01T00:00:00Z') }, diff --git a/test/unit/SearchService.test.js b/test/unit/SearchService.test.js index e84ce36..2818930 100644 --- a/test/unit/SearchService.test.js +++ b/test/unit/SearchService.test.js @@ -4,16 +4,24 @@ /* global BigInt */ -require('../../app-bootstrap') -const chai = require('chai') - const placeholderDbUrl = 'postgresql://user:pass@localhost:5432/topcoder?schema=public' process.env.DATABASE_URL = process.env.DATABASE_URL || placeholderDbUrl process.env.SKILLS_DB_URL = process.env.SKILLS_DB_URL || placeholderDbUrl process.env.RESOURCES_DB_URL = process.env.RESOURCES_DB_URL || placeholderDbUrl +const appConfig = require('config') +appConfig.DATABASE_URL = appConfig.DATABASE_URL || placeholderDbUrl +appConfig.SKILLS_DB_URL = appConfig.SKILLS_DB_URL || placeholderDbUrl +appConfig.RESOURCES_DB_URL = appConfig.RESOURCES_DB_URL || placeholderDbUrl + +require('../../app-bootstrap') +const chai = require('chai') + +const _ = require('lodash') +delete require.cache[require.resolve('../../src/common/prisma')] const prismaManager = require('../../src/common/prisma') const prismaHelper = require('../../src/common/prismaHelper') +const statsDimensionHelper = require('../../src/common/statsDimensionHelper') const service = require('../../src/services/SearchService') const should = chai.should() @@ -98,6 +106,82 @@ describe('search service unit tests', () => { } }) + it('searchMembers should display configured rating path names for included stats', async () => { + const prisma = prismaManager.getClient() + const skillsPrisma = prismaManager.getSkillsClient() + + const originalMemberCount = prisma.member.count + const originalMemberFindMany = prisma.member.findMany + const originalMemberStatsFindMany = prisma.memberStats.findMany + const originalUserSkillFindMany = skillsPrisma.userSkill.findMany + const originalGetChallengesClient = prismaManager.getChallengesClient + + try { + statsDimensionHelper.clearChallengeDimensionLookupCache() + prisma.member.count = async () => 1 + prisma.member.findMany = async () => [ + { + userId: BigInt(1001), + handle: 'alpha', + handleLower: 'alpha', + createdAt: new Date('2026-04-01T00:00:00.000Z'), + updatedAt: new Date('2026-04-02T00:00:00.000Z'), + verified: true + } + ] + prisma.memberStats.findMany = async () => [ + { + userId: BigInt(1001), + trackId: 'track-ds-id', + typeId: 'rating-path-ai-engineering', + challenges: 3, + wins: 0, + rating: 1517, + globalRank: 4, + volatility: 331, + mostRecentEventDate: new Date('2024-06-01T00:00:00.000Z'), + isPrivate: false + } + ] + skillsPrisma.userSkill.findMany = async () => [] + prismaManager.getChallengesClient = () => ({ + $queryRaw: async (query) => { + const sql = _.castArray(query).join('') + if (sql.includes('"ChallengeTrack"')) { + return [ + { id: 'track-ds-id', name: 'Data Science', abbreviation: 'DS', legacyId: null } + ] + } + return [ + { id: 'rating-path-ai-engineering', name: 'AI Engineering', abbreviation: 'AI Engineering', legacyId: null, isTask: false } + ] + } + }) + + const response = await service.searchMembers( + { isMachine: true }, + { + page: 1, + perPage: 20, + fields: 'userId,handle,handleLower,createdAt,updatedAt,stats,numberOfChallengesWon,numberOfChallengesPlaced' + } + ) + + response.result.should.have.length(1) + should.exist(response.result[0].stats[0].DATA_SCIENCE['AI Engineering']) + should.not.exist(response.result[0].stats[0].DATA_SCIENCE['rating-path-ai-engineering']) + response.result[0].stats[0].DATA_SCIENCE['AI Engineering'].rank.rating.should.equal(1517) + response.result[0].numberOfChallengesPlaced.should.equal(3) + } finally { + prisma.member.count = originalMemberCount + prisma.member.findMany = originalMemberFindMany + prisma.memberStats.findMany = originalMemberStatsFindMany + skillsPrisma.userSkill.findMany = originalUserSkillFindMany + prismaManager.getChallengesClient = originalGetChallengesClient + statsDimensionHelper.clearChallengeDimensionLookupCache() + } + }) + it('searchMembersBySkills should chunk member queries for skill score searches', async () => { const prisma = prismaManager.getClient() const skillsPrisma = prismaManager.getSkillsClient() diff --git a/test/unit/StatisticsService.test.js b/test/unit/StatisticsService.test.js index 399a565..22a4a1e 100644 --- a/test/unit/StatisticsService.test.js +++ b/test/unit/StatisticsService.test.js @@ -648,6 +648,53 @@ describe('statistics service unit tests', () => { } }) + it('getMemberStats should resolve configured rating path name filters to deterministic type ids', async () => { + let findManyArgs + const { service, restore } = loadStatisticsService({ + ratingPaths: [ + { name: 'AI Engineering', track: 'DATA_SCIENCE', tags: ['AI', 'AI Exponential League'] } + ], + prismaStub: { + $queryRaw: async () => [], + memberStats: { + findMany: async (args) => { + findManyArgs = args + return [ + { + trackId: 'track-ds-id', + typeId: 'rating-path-ai-engineering', + challenges: 3, + wins: 0, + rating: 1517, + globalRank: 4, + volatility: 331, + mostRecentEventDate: new Date('2024-06-01T00:00:00.000Z'), + isPrivate: false + } + ] + } + }, + memberStatsHistory: { + findMany: async () => [] + } + } + }) + + try { + const result = await service.getMemberStats({ isMachine: true }, 'devtest1400', { + trackId: 'DATA_SCIENCE', + typeId: 'AI Engineering' + }) + + findManyArgs.where.typeId.should.equal('rating-path-ai-engineering') + result.should.have.length(1) + should.exist(result[0].DATA_SCIENCE['AI Engineering']) + should.not.exist(result[0].DATA_SCIENCE['rating-path-ai-engineering']) + } finally { + restore() + } + }) + it('rerateMemberStats should route configured rating paths to the Marathon Match engine', async () => { let capturedOptions const { service, restore } = loadStatisticsService({ @@ -667,15 +714,15 @@ describe('statistics service unit tests', () => { try { const result = await service.rerateMemberStats({ isMachine: true }, 'devtest1400', { challengeId: 'ai-target-challenge', - ratingName: 'AI' + ratingName: 'AI Engineering' }) should.exist(capturedOptions) - capturedOptions.ratingPath.name.should.equal('AI') + capturedOptions.ratingPath.name.should.equal('AI Engineering') capturedOptions.ratingPath.tags.should.deep.equal(['AI', 'AI Exponential League']) result.trackId.should.equal('DATA_SCIENCE') - result.typeId.should.equal('AI') - result.ratingName.should.equal('AI') + result.typeId.should.equal('AI Engineering') + result.ratingName.should.equal('AI Engineering') result.ratingTags.should.deep.equal(['AI', 'AI Exponential League']) result.ratingPathChallengesProcessed.should.equal(2) result.ratingsUpdated.should.equal(1) @@ -797,8 +844,8 @@ describe('statistics service unit tests', () => { }, { trackId: 'DATA_SCIENCE', - typeId: 'AI', - ratingName: 'AI', + typeId: 'AI Engineering', + ratingName: 'AI Engineering', ratingTags: ['AI', 'AI Exponential League'], ratingSkillIds: [] } @@ -808,8 +855,239 @@ describe('statistics service unit tests', () => { { userId: '102', challengeId: 'ai-target-challenge' } ]) namedRerateCalls.should.deep.equal([ - { userId: '101', challengeId: 'ai-target-challenge', ratingName: 'AI' }, - { userId: '102', challengeId: 'ai-target-challenge', ratingName: 'AI' } + { userId: '101', challengeId: 'ai-target-challenge', ratingName: 'AI Engineering' }, + { userId: '102', challengeId: 'ai-target-challenge', ratingName: 'AI Engineering' } + ]) + } finally { + restore() + } + }) + + it('rerateChallengeSubmitterRatings should rerate Data Science Challenge submitters', async () => { + const dsRerateCalls = [] + const { service, restore } = loadStatisticsService({ + challengeRow: { + id: 'ds-target-challenge', + status: 'COMPLETED', + endDate: new Date('2026-06-02T05:30:04.536Z'), + trackId: 'track-ds-id', + typeId: 'type-challenge-id', + track: { name: 'Data Science' }, + type: { name: 'Challenge' }, + tags: [], + skills: [], + metadata: [] + }, + reviewRows: [ + { challengeId: 'ds-target-challenge', userId: '101', finalScore: 100, placement: 1 }, + { challengeId: 'ds-target-challenge', userId: '102', finalScore: 88.89, placement: 2 } + ], + prismaStub: { + member: { + findMany: async ({ where }) => where.userId.in.map((userId) => ({ userId })) + } + }, + rerateDevTrack: async (membersClient, challengeClient, reviewDbClient, userId, challengeId, options) => { + dsRerateCalls.push({ + userId: String(userId), + challengeId, + options + }) + return { + challengesProcessed: 1, + ratingsUpdated: 1 + } + } + }) + + try { + const result = await service.rerateChallengeSubmitterRatings({ isMachine: true }, { + challengeId: 'ds-target-challenge' + }) + + result.rerated.should.equal(true) + result.membersProcessed.should.equal(2) + result.ratingsAttempted.should.equal(2) + result.ratingsUpdated.should.equal(2) + result.participantIds.should.deep.equal(['101', '102']) + result.ratings.should.deep.equal([ + { + trackId: 'DATA_SCIENCE', + typeId: 'Challenge' + } + ]) + dsRerateCalls.should.deep.equal([ + { + userId: '101', + challengeId: 'ds-target-challenge', + options: { + targetTrackName: 'DATA_SCIENCE', + targetTypeName: 'Challenge', + challengeTrackNames: ['DATA_SCIENCE', 'QUALITY_ASSURANCE'], + challengeTypeNames: ['Challenge'] + } + }, + { + userId: '102', + challengeId: 'ds-target-challenge', + options: { + targetTrackName: 'DATA_SCIENCE', + targetTypeName: 'Challenge', + challengeTrackNames: ['DATA_SCIENCE', 'QUALITY_ASSURANCE'], + challengeTypeNames: ['Challenge'] + } + } + ]) + } finally { + restore() + } + }) + + it('rerateChallengeSubmitterRatings should include Data Science Challenge winners when result rows are absent', async () => { + const dsRerateCalls = [] + const { service, restore } = loadStatisticsService({ + challengeRow: { + id: 'ds-winner-only-challenge', + status: 'COMPLETED', + endDate: new Date('2026-06-09T08:45:00.000Z'), + trackId: 'track-ds-id', + typeId: 'type-challenge-id', + track: { name: 'Data Science' }, + type: { name: 'Challenge' }, + tags: [], + skills: [], + metadata: [] + }, + reviewRows: [], + challengeWinnerRows: [ + { challengeId: 'ds-winner-only-challenge', userId: 301, type: 'PLACEMENT', placement: 1 } + ], + prismaStub: { + member: { + findMany: async ({ where }) => where.userId.in.map((userId) => ({ userId })) + } + }, + rerateDevTrack: async (membersClient, challengeClient, reviewDbClient, userId, challengeId, options) => { + dsRerateCalls.push({ + userId: String(userId), + challengeId, + options + }) + return { + challengesProcessed: 1, + ratingsUpdated: 1 + } + } + }) + + try { + const result = await service.rerateChallengeSubmitterRatings({ isMachine: true }, { + challengeId: 'ds-winner-only-challenge' + }) + + result.rerated.should.equal(true) + result.membersProcessed.should.equal(1) + result.ratingsAttempted.should.equal(1) + result.ratingsUpdated.should.equal(1) + result.participantIds.should.deep.equal(['301']) + result.ratings.should.deep.equal([ + { + trackId: 'DATA_SCIENCE', + typeId: 'Challenge' + } + ]) + dsRerateCalls.should.deep.equal([ + { + userId: '301', + challengeId: 'ds-winner-only-challenge', + options: { + targetTrackName: 'DATA_SCIENCE', + targetTypeName: 'Challenge', + challengeTrackNames: ['DATA_SCIENCE', 'QUALITY_ASSURANCE'], + challengeTypeNames: ['Challenge'] + } + } + ]) + } finally { + restore() + } + }) + + it('rerateChallengeSubmitterRatings should rate QA Challenge winners in the Data Science Challenge bucket', async () => { + const qaRerateCalls = [] + const { service, restore } = loadStatisticsService({ + challengeRow: { + id: 'qa-winner-only-challenge', + status: 'COMPLETED', + endDate: new Date('2026-06-10T05:41:34.931Z'), + trackId: 'track-qa-id', + typeId: 'type-challenge-id', + track: { name: 'Quality Assurance', track: 'QUALITY_ASSURANCE' }, + type: { name: 'Challenge' }, + tags: [], + skills: [], + metadata: [] + }, + reviewRows: [], + challengeWinnerRows: [ + { challengeId: 'qa-winner-only-challenge', userId: 89770374, type: 'PLACEMENT', placement: 1 }, + { challengeId: 'qa-winner-only-challenge', userId: 100000039, type: 'PLACEMENT', placement: 2 } + ], + prismaStub: { + member: { + findMany: async ({ where }) => where.userId.in.map((userId) => ({ userId })) + } + }, + rerateDevTrack: async (membersClient, challengeClient, reviewDbClient, userId, challengeId, options) => { + qaRerateCalls.push({ + userId: String(userId), + challengeId, + options + }) + return { + challengesProcessed: 1, + ratingsUpdated: 1 + } + } + }) + + try { + const result = await service.rerateChallengeSubmitterRatings({ isMachine: true }, { + challengeId: 'qa-winner-only-challenge' + }) + + result.rerated.should.equal(true) + result.membersProcessed.should.equal(2) + result.ratingsAttempted.should.equal(2) + result.ratingsUpdated.should.equal(2) + result.participantIds.should.deep.equal(['89770374', '100000039']) + result.ratings.should.deep.equal([ + { + trackId: 'DATA_SCIENCE', + typeId: 'Challenge' + } + ]) + qaRerateCalls.should.deep.equal([ + { + userId: '89770374', + challengeId: 'qa-winner-only-challenge', + options: { + targetTrackName: 'DATA_SCIENCE', + targetTypeName: 'Challenge', + challengeTrackNames: ['DATA_SCIENCE', 'QUALITY_ASSURANCE'], + challengeTypeNames: ['Challenge'] + } + }, + { + userId: '100000039', + challengeId: 'qa-winner-only-challenge', + options: { + targetTrackName: 'DATA_SCIENCE', + targetTypeName: 'Challenge', + challengeTrackNames: ['DATA_SCIENCE', 'QUALITY_ASSURANCE'], + challengeTypeNames: ['Challenge'] + } + } ]) } finally { restore() @@ -882,6 +1160,146 @@ describe('statistics service unit tests', () => { } }) + it('rerateChallengeSubmitterRatings should include challenge winners when result rows are absent', async () => { + const devRerateCalls = [] + const { service, restore } = loadStatisticsService({ + challengeRow: { + id: 'qa-target-challenge', + status: 'COMPLETED', + endDate: new Date('2026-01-15T00:00:00.000Z'), + trackId: 'track-dev-id', + typeId: 'type-challenge-id', + track: { name: 'Development' }, + type: { name: 'Challenge' }, + tags: ['QA'], + skills: [], + metadata: [] + }, + reviewRows: [], + challengeWinnerRows: [ + { challengeId: 'qa-target-challenge', userId: 201, type: 'PLACEMENT', placement: 1 }, + { challengeId: 'qa-target-challenge', userId: 202, type: 'PLACEMENT', placement: 2 } + ], + prismaStub: { + member: { + findMany: async ({ where }) => where.userId.in.map((userId) => ({ userId })) + } + }, + rerateDevTrack: async (membersClient, challengeClient, reviewDbClient, userId, challengeId) => { + devRerateCalls.push({ + userId: String(userId), + challengeId + }) + return { + challengesProcessed: 1, + ratingsUpdated: 1 + } + } + }) + + try { + const result = await service.rerateChallengeSubmitterRatings({ isMachine: true }, { + challengeId: 'qa-target-challenge' + }) + + result.rerated.should.equal(true) + result.membersProcessed.should.equal(2) + result.ratingsAttempted.should.equal(2) + result.ratingsUpdated.should.equal(2) + result.participantIds.should.deep.equal(['201', '202']) + devRerateCalls.should.deep.equal([ + { userId: '201', challengeId: 'qa-target-challenge' }, + { userId: '202', challengeId: 'qa-target-challenge' } + ]) + } finally { + restore() + } + }) + + it('rerateChallengeSubmitterRatings should rerate Development track Marathon Match challenges as MM', async () => { + const devRerateCalls = [] + const mmRerateCalls = [] + const { service, restore } = loadStatisticsService({ + challengeRow: { + id: 'dev-mm-target-challenge', + status: 'COMPLETED', + endDate: new Date('2026-01-15T00:00:00.000Z'), + trackId: 'track-dev-id', + typeId: 'type-mm-id', + track: { name: 'Development' }, + type: { name: 'MARATHON_MATCH' }, + tags: [], + skills: [], + metadata: [] + }, + reviewDbStub: { + query: async () => ({ + rows: [ + { challengeId: 'dev-mm-target-challenge', userId: '101', finalScore: 98, placement: 1 } + ] + }) + }, + fetchRatingPathParticipantsForChallenge: async () => ({ + participantRows: [ + { memberId: '101' }, + { memberId: '102' } + ] + }), + resolveRatingPathParticipantId: row => global.BigInt(row.memberId), + prismaStub: { + member: { + findMany: async ({ where }) => where.userId.in.map((userId) => ({ userId })) + } + }, + rerateDevTrack: async (membersClient, challengeClient, reviewDbClient, userId, challengeId) => { + devRerateCalls.push({ + userId: String(userId), + challengeId + }) + return { + challengesProcessed: 1, + ratingsUpdated: 1 + } + }, + rerateMmTrack: async (membersClient, challengeClient, mmClient, reviewDbClient, userId, challengeId) => { + should.equal(mmClient, null) + mmRerateCalls.push({ + userId: String(userId), + challengeId + }) + return { + challengesProcessed: 1, + ratingsUpdated: 1 + } + } + }) + + try { + const result = await service.rerateChallengeSubmitterRatings({ isMachine: true }, { + challengeId: 'dev-mm-target-challenge' + }) + + result.rerated.should.equal(true) + result.membersProcessed.should.equal(2) + result.ratingsAttempted.should.equal(2) + result.ratingsUpdated.should.equal(2) + result.participantIds.should.deep.equal(['101', '102']) + result.ratings.should.deep.equal([ + { + trackId: 'DATA_SCIENCE', + typeId: 'MARATHON_MATCH' + } + ]) + devRerateCalls.should.deep.equal([]) + mmRerateCalls.should.deep.equal([ + { userId: '101', challengeId: 'dev-mm-target-challenge' }, + { userId: '102', challengeId: 'dev-mm-target-challenge' } + ]) + } finally { + restore() + } + }) + it('getHistoryStats should synthesize missing review history for visible develop subtracks', async () => { const ratingDate = new Date('2025-11-27T05:48:36.899Z') const { service, restore } = loadStatisticsService({ @@ -1975,6 +2393,82 @@ describe('statistics service unit tests', () => { } }) + it('getHistoryStats should hide hydrated orphan legacy Marathon Match rows after native rerate', async () => { + const legacyDate = new Date('2023-05-02T00:00:00.000Z') + const canonicalDate = new Date('2025-08-27T17:05:00.000Z') + const canonicalChallenge = { + id: 'mm-163-canonical', + legacyId: null, + name: 'Marathon Match 163', + status: 'COMPLETED', + trackId: 'track-ds-id', + typeId: 'type-mm-id', + endDate: canonicalDate, + track: { name: 'Data Science' }, + type: { name: 'Marathon Match' }, + metadata: [], + legacyRecord: null + } + const { service, restore } = loadStatisticsService({ + prismaStub: { + $queryRaw: async () => [{ + challengeId: global.BigInt(19708), + challengeName: 'MM 148', + date: legacyDate, + rating: 2955, + placement: 3, + percentile: 97.973 + }], + memberStats: { + findFirst: async () => null, + findMany: async () => [{ + trackId: 'track-ds-id', + typeId: 'type-mm-id' + }] + }, + memberStatsHistory: { + findMany: async () => [{ + trackId: 'track-ds-id', + typeId: 'type-mm-id', + challengeId: '19708', + eventDate: legacyDate, + newRating: 2955, + placement: 3, + mostRecent: false + }, { + trackId: 'track-ds-id', + typeId: 'type-mm-id', + challengeId: 'mm-163-canonical', + challengeName: 'Marathon Match 163', + eventDate: canonicalDate, + newRating: 2279, + placement: 5, + updatedBy: 'rerate-mm-stats', + mostRecent: true + }] + } + }, + challengeRows: [canonicalChallenge], + reviewRows: [], + challengeWinnerRows: [] + }) + + try { + const result = await service.getHistoryStats({ isMachine: true }, 'devtest1400', {}) + + result.should.have.length(1) + const history = result[0].DATA_SCIENCE.MARATHON_MATCH.history + history.map(row => row.challengeId).should.not.include(19708) + history.should.have.length(1) + history[0].challengeId.should.equal('mm-163-canonical') + history[0].challengeName.should.equal('Marathon Match 163') + history[0].rating.should.equal(2279) + history[0].mostRecent.should.equal(true) + } finally { + restore() + } + }) + it('getHistoryStats should preserve imported Marathon Match history over matching canonical rerates', async () => { const mm144LegacyDate = new Date('2023-02-21T00:00:00.000Z') const mm144Date = new Date('2023-03-08T18:14:00.000Z') @@ -2119,6 +2613,130 @@ describe('statistics service unit tests', () => { } }) + it('getHistoryStats should prefer authoritative rerated Marathon Match rows over duplicate legacy rounds', async () => { + const mm144LegacyDate = new Date('2023-02-21T00:00:00.000Z') + const mm144Date = new Date('2023-03-08T18:14:00.000Z') + const mm145LegacyDate = new Date('2023-05-02T00:00:00.000Z') + const mm145Date = new Date('2023-05-31T10:02:00.000Z') + const mm144Challenge = { + id: 'mm-144-canonical', + legacyId: null, + name: 'Marathon Match 144', + status: 'COMPLETED', + trackId: 'track-ds-id', + typeId: 'type-mm-id', + endDate: mm144Date, + track: { name: 'Data Science' }, + type: { name: 'Marathon Match' }, + metadata: [], + legacyRecord: null + } + const mm145Challenge = { + id: 'mm-145-canonical', + legacyId: null, + name: 'Marathon Match 145', + status: 'COMPLETED', + trackId: 'track-ds-id', + typeId: 'type-mm-id', + endDate: mm145Date, + track: { name: 'Data Science' }, + type: { name: 'Marathon Match' }, + metadata: [], + legacyRecord: null + } + const { service, restore } = loadStatisticsService({ + prismaStub: { + $queryRaw: async () => [{ + challengeId: global.BigInt(19578), + challengeName: 'Marathon Match 144 ROUND', + date: mm144LegacyDate, + rating: 2779, + placement: 4, + percentile: 96.5217 + }, { + challengeId: global.BigInt(19628), + challengeName: 'MM 145', + date: mm145LegacyDate, + rating: 2925, + placement: 2, + percentile: 98.1982 + }], + memberStats: { + findFirst: async () => null, + findMany: async () => [{ + trackId: 'track-ds-id', + typeId: 'type-mm-id' + }] + }, + memberStatsHistory: { + findMany: async () => [{ + trackId: 'track-ds-id', + typeId: 'type-mm-id', + challengeId: '19578', + eventDate: mm144LegacyDate, + newRating: 2779, + placement: 4, + mostRecent: false + }, { + trackId: 'track-ds-id', + typeId: 'type-mm-id', + challengeId: 'mm-144-canonical', + eventDate: mm144Date, + oldRating: 2295, + newRating: 2371, + placement: 1, + mostRecent: false, + createdBy: 'stats-migration', + updatedBy: 'rerate-mm-stats' + }, { + trackId: 'track-ds-id', + typeId: 'type-mm-id', + challengeId: '19628', + eventDate: mm145LegacyDate, + newRating: 2925, + placement: 2, + mostRecent: false + }, { + trackId: 'track-ds-id', + typeId: 'type-mm-id', + challengeId: 'mm-145-canonical', + eventDate: mm145Date, + oldRating: 2371, + newRating: 2455, + placement: 1, + mostRecent: true, + createdBy: 'stats-migration', + updatedBy: 'rerate-mm-stats' + }] + } + }, + challengeRows: [mm144Challenge, mm145Challenge], + reviewRows: [], + challengeWinnerRows: [] + }) + + try { + const result = await service.getHistoryStats({ isMachine: true }, 'devtest1400', {}) + + result.should.have.length(1) + const history = result[0].DATA_SCIENCE.MARATHON_MATCH.history + history.map(row => row.challengeId).should.not.include(19578) + history.map(row => row.challengeId).should.not.include(19628) + history.should.have.length(2) + const mm144 = history.find(row => row.challengeId === 'mm-144-canonical') + const mm145 = history.find(row => row.challengeId === 'mm-145-canonical') + should.exist(mm144) + should.exist(mm145) + mm144.rating.should.equal(2371) + mm144.placement.should.equal(1) + mm145.rating.should.equal(2455) + mm145.placement.should.equal(1) + mm145.mostRecent.should.equal(true) + } finally { + restore() + } + }) + it('getHistoryStats should append new canonical Marathon Match rows after imported history', async () => { const legacyDate = new Date('2023-05-02T00:00:00.000Z') const oldCanonicalDate = new Date('2023-03-08T18:14:00.000Z') diff --git a/test/unit/StatsDimensionHelper.test.js b/test/unit/StatsDimensionHelper.test.js index ed54470..7ac794e 100644 --- a/test/unit/StatsDimensionHelper.test.js +++ b/test/unit/StatsDimensionHelper.test.js @@ -150,6 +150,40 @@ describe('stats dimension helper unit tests', () => { }) }) + it('buildUnifiedStatsResponse should display configured rating path names from deterministic type ids', () => { + const result = prismaHelper.buildUnifiedStatsResponse( + { + userId: global.BigInt(15391415), + handle: 'winterflame', + handleLower: 'winterflame', + maxRating: null + }, + [ + { + groupId: global.BigInt(1), + trackId: 'track-ds-id', + typeId: 'rating-path-ai-engineering', + trackName: TRACK_NAMES.DATA_SCIENCE, + challenges: 3, + wins: null, + rating: 1517, + volatility: 331, + mostRecentSubmission: null, + mostRecentEventDate: new Date('2024-06-01T00:00:00.000Z') + } + ] + ) + + should.exist(result.DATA_SCIENCE) + should.exist(result.DATA_SCIENCE['AI Engineering']) + should.not.exist(result.DATA_SCIENCE['rating-path-ai-engineering']) + result.DATA_SCIENCE['AI Engineering'].rank.should.deep.equal({ + rating: 1517, + volatility: 331 + }) + result.maxRating.subTrack.should.equal('AI Engineering') + }) + it('buildUnifiedStatsResponse should backfill an empty matching subtrack rank from maxRating', () => { const result = prismaHelper.buildUnifiedStatsResponse( {